Boost.space API

  • OpenAPI Version: 3.1.1
  • API Version: 5.5.4

Generated on 23.7.2026 22:20:00

Authentication

All secured endpoints require a Bearer token in the Authorization header: Authorization: Bearer <token>. Tokens are created in the user profile or via POST /auth/{userId}/token.

Servers

  • URL: https://{system}.boost.space/api

    • Description: Boost.space client server
    • Variables:
      • system (default: test): Boost.space system name as it appears in the hostname (e.g. for `https://test.boost.space` the value is `test`)

Operations

Get a column data transform config

  • Method: GET
  • Path: /ai/column-data-transform/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data transform config

integer

Responses

Status: 200 Ai column data transform config record
Content-Type: application/json
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a column data transform config

  • Method: PUT
  • Path: /ai/column-data-transform/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data transform config

integer

Request Body

Content-Type: application/json
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}

Responses

Status: 200 Updated Ai column data transform config
Content-Type: application/json
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a column data transform config

  • Method: POST
  • Path: /ai/column-data-transform/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

integer

Request Body

Content-Type: application/json
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}

Responses

Status: 201 Created Ai column data transform config
Content-Type: application/json
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a column data transform config

  • Method: DELETE
  • Path: /ai/column-data-transform/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data transform config

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List column data transform configs

  • Method: GET
  • Path: /ai/column-data-transform
  • Tags: AI Features

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of Ai column data transform config records
Content-Type: application/json

Array of:

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

[
  {
    "id": 42,
    "columnKey": "string",
    "module": "string",
    "prompt": "string",
    "enabled": true,
    "provider": "platform",
    "aiVoiceTone": "auto",
    "aiCreativity": "high",
    "customInputId": 42,
    "type": "auto"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a column data validation config

  • Method: GET
  • Path: /ai/column-data-validation/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Responses

Status: 200 Ai column data validation config record
Content-Type: application/json
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a column data validation config

  • Method: PUT
  • Path: /ai/column-data-validation/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Request Body

Content-Type: application/json
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}

Responses

Status: 200 Updated Ai column data validation config
Content-Type: application/json
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a column data validation config

  • Method: DELETE
  • Path: /ai/column-data-validation/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List column data validation configs

  • Method: GET
  • Path: /ai/column-data-validation
  • Tags: AI Features

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of Ai column data validation config records
Content-Type: application/json

Array of:

  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

[
  {
    "id": 42,
    "columnKey": "string",
    "module": "string",
    "provider": "platform",
    "prompt": "string",
    "enabled": true,
    "includeEmptyFields": true,
    "customInputId": 42
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a column data validation config

  • Method: POST
  • Path: /ai/column-data-validation
  • Tags: AI Features

Request Body

Content-Type: application/json
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}

Responses

Status: 201 Created Ai column data validation config
Content-Type: application/json
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a column data validation result

  • Method: GET
  • Path: /ai/column-data-validation-result/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation result config

integer

Responses

Status: 200 Ai column data validation result config record
Content-Type: application/json
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a column data validation result

  • Method: PUT
  • Path: /ai/column-data-validation-result/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation result config

integer

Request Body

Content-Type: application/json
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}

Responses

Status: 200 Updated Ai column data validation result config
Content-Type: application/json
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a column data validation result

  • Method: DELETE
  • Path: /ai/column-data-validation-result/{entityId}
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation result config

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List column data validation results

  • Method: GET
  • Path: /ai/column-data-validation-result
  • Tags: AI Features

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of Ai column data validation result config records
Content-Type: application/json

Array of:

  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

[
  {
    "id": 42,
    "result": "string",
    "aiColumnDataValidationId": 42,
    "entityId": "string"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a column data validation result

  • Method: POST
  • Path: /ai/column-data-validation-result
  • Tags: AI Features

Request Body

Content-Type: application/json
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}

Responses

Status: 201 Created Ai column data validation result config
Content-Type: application/json
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Execute a column data transform on demand

  • Method: POST
  • Path: /column-data-transform/{entityId}/execute
  • Tags: AI Features

Applies a saved column data transform rule to a batch of record IDs, rewriting each record's custom field value according to the configured AI prompt. Requires sufficient AI token balance.

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Request Body

Content-Type: application/json
  • ids (required)

    array — Record IDs to transform

    Items:

    integer

Example:

{
  "ids": [
    1
  ]
}

Responses

Status: 201 Transformed data.
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Execute a column data validation on demand

  • Method: POST
  • Path: /ai/column-data-validation/{entityId}/execute
  • Tags: AI Features

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Request Body

Content-Type: application/json
  • ids (required)

    array — Record IDs to validate

    Items:

    integer

Example:

{
  "ids": [
    1
  ]
}

Responses

Status: 201 Transformed data.
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Generate module definitions using AI

  • Method: POST
  • Path: /ai/generate-custom-modules
  • Tags: AI Features

Generates module definitions using AI from a single prompt. Requires sufficient AI token balance.

Request Body

Content-Type: application/json
  • prompt

    string | null — User-provided text prompt for the AI tool.

Example:

{
  "prompt": null
}

Responses

Status: 200 Successful operation
Content-Type: application/json
  • result

    string — The generated output of the tool

Example:

{
  "result": ""
}
Status: 400 Invalid input or unsupported type
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Generate a value for a custom field using AI

  • Method: POST
  • Path: /ai/generate-custom-field
  • Tags: AI Features

Generates a value for a custom field using AI based on the provided prompt and module context. Requires sufficient AI token balance.

Request Body

Content-Type: application/json
  • module

    string | null — Boost.space module identifier related to the tool execution.

  • prompt

    string | null — User-provided text prompt for the AI tool.

  • table

    string | null — Boost.space table identifier related to the tool execution.

Example:

{
  "prompt": null,
  "table": null,
  "module": null
}

Responses

Status: 200 Successful operation
Content-Type: application/json
  • result

    string — The generated output of the tool

Example:

{
  "result": ""
}
Status: 400 Invalid input or unsupported type
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Preview a column data transform without saving

  • Method: POST
  • Path: /column-data-transform/{entityId}/preview
  • Tags: AI Features

Performs a one-time transformation on a single preview object using a custom prompt, without saving any configuration. Useful for testing prompts before creating a transform rule.

Parameters

entityId required
  • In: path

ID of Ai column data validation config

integer

Request Body

Content-Type: application/json
  • preview (required)

    object — Sample record object to transform

  • prompt (required)

    string — AI prompt to test

Example:

{
  "prompt": "",
  "preview": {}
}

Responses

Status: 201 Transformed data.
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get OAuth2 client

  • Method: GET
  • Path: /auth/oauth/client/{clientId}
  • Tags: Authentication

Handle OAuth2 client CRUD operations Route: auth/oauth/client[/]

Parameters

clientId required
  • In: path

ID of OAuth2 client

integer

Responses

Status: 200 OAuth2 client details
Content-Type: application/json
  • clientId

    string — Publicly known OAuth2 client identifier used in authorization and token requests

  • clientName

    string — Human-readable display name of the OAuth2 application

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • redirectUris

    array — Permitted redirect URIs that the authorization server will send the auth code to

    Items:

    string

  • scopes

    array — OAuth2 scopes this client is authorized to request

    Items:

    string

  • tokenId

    integer — ID of the MCP API token linked to this OAuth2 client for machine-to-machine access

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "clientId": "string",
  "clientName": "Sample clientName",
  "redirectUris": [
    "https://acme.boost.space"
  ],
  "scopes": [
    "string"
  ],
  "tokenId": 42
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 OAuth2 client not found
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update OAuth2 client

  • Method: PUT
  • Path: /auth/oauth/client/{clientId}
  • Tags: Authentication

Updates client name, redirect URIs, or scopes. Include regenerateSecret: true in the request body to rotate the clientSecret.

Parameters

clientId required
  • In: path

ID of OAuth2 client

integer

Request Body

Content-Type: application/json
  • clientName

    string — Client application name

  • clientSecret

    string — New client secret

  • redirectUris

    array — Allowed redirect URIs

    Items:

    string

  • scope

    string — Space-delimited scopes per RFC 7591

Example:

{
  "clientName": "",
  "clientSecret": "",
  "redirectUris": [
    ""
  ],
  "scope": ""
}

Responses

Status: 200 OAuth2 client updated
Content-Type: application/json
  • clientId

    string — Publicly known OAuth2 client identifier used in authorization and token requests

  • clientName

    string — Human-readable display name of the OAuth2 application

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • redirectUris

    array — Permitted redirect URIs that the authorization server will send the auth code to

    Items:

    string

  • scopes

    array — OAuth2 scopes this client is authorized to request

    Items:

    string

  • tokenId

    integer — ID of the MCP API token linked to this OAuth2 client for machine-to-machine access

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "clientId": "string",
  "clientName": "Sample clientName",
  "redirectUris": [
    "https://acme.boost.space"
  ],
  "scopes": [
    "string"
  ],
  "tokenId": 42
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 OAuth2 client not found
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete OAuth2 client

  • Method: DELETE
  • Path: /auth/oauth/client/{clientId}
  • Tags: Authentication

Revokes the OAuth2 client and immediately invalidates all tokens issued to it.

Parameters

clientId required
  • In: path

ID of OAuth2 client

integer

Responses

Status: 200 OAuth2 client deleted
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 OAuth2 client not found
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List OAuth2 clients

  • Method: GET
  • Path: /auth/oauth/client
  • Tags: Authentication

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of OAuth2 clients
Content-Type: application/json

Array of:

  • clientId

    string — Publicly known OAuth2 client identifier used in authorization and token requests

  • clientName

    string — Human-readable display name of the OAuth2 application

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • redirectUris

    array — Permitted redirect URIs that the authorization server will send the auth code to

    Items:

    string

  • scopes

    array — OAuth2 scopes this client is authorized to request

    Items:

    string

  • tokenId

    integer — ID of the MCP API token linked to this OAuth2 client for machine-to-machine access

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "clientId": "string",
    "clientName": "Sample clientName",
    "redirectUris": [
      "https://acme.boost.space"
    ],
    "scopes": [
      "string"
    ],
    "tokenId": 42
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create OAuth2 client

  • Method: POST
  • Path: /auth/oauth/client
  • Tags: Authentication

Registers a new OAuth2 client. Requires clientName and redirectUris (HTTPS only, max 5, localhost allowed). Returns auto-generated clientId and clientSecret (secret shown only once).

Request Body

Content-Type: application/json
  • clientName (required)

    string — Client application name

  • redirectUris (required)

    array — Allowed redirect URIs (HTTPS required except localhost, max 5)

    Items:

    string

  • grantTypes

    array — Defaults to both if not provided

    Items:

    string, possible values: "authorization_code", "refresh_token"

  • scope

    string — Space-delimited scopes per RFC 7591, e.g. 'user todo '

Example:

{
  "clientName": "",
  "redirectUris": [
    ""
  ],
  "scope": "",
  "grantTypes": [
    "authorization_code"
  ]
}

Responses

Status: 201 OAuth2 client created
Content-Type: application/json
  • clientId

    string — Publicly known OAuth2 client identifier used in authorization and token requests

  • clientName

    string — Human-readable display name of the OAuth2 application

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • redirectUris

    array — Permitted redirect URIs that the authorization server will send the auth code to

    Items:

    string

  • scopes

    array — OAuth2 scopes this client is authorized to request

    Items:

    string

  • tokenId

    integer — ID of the MCP API token linked to this OAuth2 client for machine-to-machine access

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "clientId": "string",
  "clientName": "Sample clientName",
  "redirectUris": [
    "https://acme.boost.space"
  ],
  "scopes": [
    "string"
  ],
  "tokenId": 42
}
Status: 400 Invalid request data
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

OAuth2 authorization endpoint

  • Method: GET
  • Path: /auth/oauth/authorize
  • Tags: Authentication

OAuth2 Authorization Endpoint (Authorization Code Flow)

Parameters

response_type required
  • In: query

Must be 'code' for authorization code flow

string, possible values: "code"

client_id required
  • In: query

OAuth2 client ID

string

redirect_uri required
  • In: query

Registered redirect URI

string

state
  • In: query

Optional state parameter for CSRF protection

string

scope
  • In: query

Optional space-separated scopes

string

Responses

Status: 302 Redirects to redirect_uri with authorization code
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

OAuth2 token endpoint

  • Method: POST
  • Path: /auth/oauth/token
  • Tags: Authentication

Exchanges an authorization code for an access/refresh token pair (grant_type: authorization_code) or refreshes an expired access token (grant_type: refresh_token). Returns access_token, token_type: Bearer, expires_in (seconds), and refresh_token.

Request Body

Content-Type: application/json
  • client_id (required)

    string — OAuth2 client ID

  • client_secret (required)

    string — OAuth2 client secret

  • grant_type (required)

    string, possible values: "authorization_code", "refresh_token" — Grant type

  • code

    string — Authorization code (required for authorization_code grant)

  • redirect_uri

    string — Redirect URI (required for authorization_code grant)

  • refresh_token

    string — Refresh token (required for refresh_token grant)

Example:

{
  "grant_type": "authorization_code",
  "client_id": "",
  "client_secret": "",
  "code": "",
  "redirect_uri": "",
  "refresh_token": ""
}

Responses

Status: 200 Token response
Content-Type: application/json
  • access_token

    string — Access token

  • expires_in

    integer — Token expiration time in seconds

  • refresh_token

    string — Refresh token

  • scope

    string — Granted scopes

  • token_type

    string — Token type

Example:

{
  "access_token": "",
  "token_type": "Bearer",
  "expires_in": 1,
  "refresh_token": "",
  "scope": ""
}
Status: 400 Invalid request or grant
Status: 401 Invalid client credentials
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

OAuth2 token info endpoint

  • Method: GET
  • Path: /auth/oauth/token-info
  • Tags: Authentication

Validates an access token and returns its metadata: client_id, scope array, and exp (expiration timestamp). Returns an OAuth error if the token is invalid or expired.

Parameters

token required
  • In: query

Access token

string

Responses

Status: 200 Token info
Content-Type: application/json
  • client_id

    string

  • exp

    integer — Expiration timestamp

  • scope

    array

    Items:

    string

Example:

{
  "client_id": "",
  "scope": [
    ""
  ],
  "exp": 1
}
Status: 400 Invalid request
Status: 401 Unauthorized
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Renew access token using refresh token

  • Method: POST
  • Path: /auth/oauth/renew
  • Tags: Authentication

Exchanges a refresh_token for a new access_token and refresh_token pair, invalidating the previous refresh token.

Request Body

Content-Type: application/json
  • refresh_token (required)

    string — Refresh token

Example:

{
  "refresh_token": ""
}

Responses

Status: 200 New access and refresh tokens returned
Content-Type: application/json
  • access_token

    string

  • expires_in

    integer

  • refresh_token

    string

  • scope

    string

  • token_type

    string

Example:

{
  "access_token": "",
  "token_type": "Bearer",
  "expires_in": 1,
  "refresh_token": "",
  "scope": ""
}
Status: 400 Invalid request
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

OAuth2 token revocation endpoint

  • Method: POST
  • Path: /auth/oauth/revoke
  • Tags: Authentication

Revokes an access or refresh token. Returns {revoked: boolean} without disclosing whether the token previously existed.

Request Body

Content-Type: application/json
  • client_id (required)

    string — OAuth2 client ID

  • client_secret (required)

    string — OAuth2 client secret

  • token (required)

    string — The token to revoke (access or refresh)

  • token_type_hint

    string, possible values: "access_token", "refresh_token" — Optional token type hint

Example:

{
  "token": "",
  "token_type_hint": "access_token",
  "client_id": "",
  "client_secret": ""
}

Responses

Status: 200 Revocation processed
Content-Type: application/json
  • revoked

    boolean

Example:

{
  "revoked": true
}
Status: 400 Invalid request
Status: 401 Invalid client credentials
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get an API token by ID

  • Method: GET
  • Path: /auth/{userId}/token/{tokenId}
  • Tags: Authentication

Parameters

userId required
  • In: path

ID of user

integer

tokenId required
  • In: path

ID of token

integer

Responses

Status: 200 Get one record
Content-Type: application/json
  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "userId": 42,
  "token": "string",
  "description": "string",
  "priority": 1,
  "boostId": "string",
  "permissions": [
    {
      "id": 42,
      "created": "string",
      "createdUserId": 42,
      "tokenId": 42,
      "module": "activities",
      "create": true,
      "read": true,
      "update": true,
      "delete": true,
      "boostId": "string"
    }
  ],
  "allowedIps": [
    "string"
  ],
  "mcp": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update an API token

  • Method: PUT
  • Path: /auth/{userId}/token/{tokenId}
  • Tags: Authentication

Parameters

userId required
  • In: path

ID of user

integer

tokenId required
  • In: path

ID of token

integer

Request Body

Content-Type: application/json
  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "userId": 42,
  "token": "string",
  "description": "string",
  "priority": 1,
  "boostId": "string",
  "permissions": [
    {
      "id": 42,
      "created": "string",
      "createdUserId": 42,
      "tokenId": 42,
      "module": "activities",
      "create": true,
      "read": true,
      "update": true,
      "delete": true,
      "boostId": "string"
    }
  ],
  "allowedIps": [
    "string"
  ],
  "mcp": true
}

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete an API token

  • Method: DELETE
  • Path: /auth/{userId}/token/{tokenId}
  • Tags: Authentication

Parameters

userId required
  • In: path

ID of user

integer

tokenId required
  • In: path

ID of token

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List API tokens

  • Method: GET
  • Path: /auth/{userId}/token
  • Tags: Authentication

Parameters

userId required
  • In: path

ID of user

integer

Responses

Status: 200 Get record list
Content-Type: application/json

Array of:

  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "userId": 42,
    "token": "string",
    "description": "string",
    "priority": 1,
    "boostId": "string",
    "permissions": [
      {
        "id": 42,
        "created": "string",
        "createdUserId": 42,
        "tokenId": 42,
        "create": true,
        "read": true,
        "update": true,
        "delete": true,
        "boostId": "string"
      }
    ],
    "allowedIps": [
      "string"
    ],
    "mcp": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create an API token

  • Method: POST
  • Path: /auth/{userId}/token
  • Tags: Authentication

Creates a new private API token for the user with optional per-module CRUD permissions. The token value is returned only once in this response.

Parameters

userId required
  • In: path

ID of user

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Request Body

Content-Type: application/json
  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "userId": 42,
  "token": "string",
  "description": "string",
  "priority": 1,
  "boostId": "string",
  "permissions": [
    {
      "id": 42,
      "created": "string",
      "createdUserId": 42,
      "tokenId": 42,
      "module": "activities",
      "create": true,
      "read": true,
      "update": true,
      "delete": true,
      "boostId": "string"
    }
  ],
  "allowedIps": [
    "string"
  ],
  "mcp": true
}

Responses

Status: 200 Created token
Content-Type: application/json
  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "userId": 42,
  "token": "string",
  "description": "string",
  "priority": 1,
  "boostId": "string",
  "permissions": [
    {
      "id": 42,
      "created": "string",
      "createdUserId": 42,
      "tokenId": 42,
      "module": "activities",
      "create": true,
      "read": true,
      "update": true,
      "delete": true,
      "boostId": "string"
    }
  ],
  "allowedIps": [
    "string"
  ],
  "mcp": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a category by ID

  • Method: GET
  • Path: /category/{id}
  • Tags: Categories

Parameters

id required
  • In: path

Category ID

integer

Responses

Status: 200 Category object
Content-Type: application/json
  • color

    string — Display color for this category in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • default

    boolean — 1 if this is the default category assigned to new users, 0 otherwise

  • fileId

    integer — ID of the file used as the category avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the category avatar image

  • name

    string — Display name of the category

  • resources

    array — IDs of resources assigned to this category

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this category

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who belong to this category

    Items:

    integer

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "name": "Sample name",
  "default": true,
  "color": "#1f6feb",
  "fileId": 42,
  "statusSystemId": 42,
  "users": [
    1
  ],
  "resources": [
    1
  ],
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "image_url": "https://acme.boost.space"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List all categories

  • Method: GET
  • Path: /category
  • Tags: Categories

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of categories
Content-Type: application/json

Array of:

  • color

    string — Display color for this category in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • default

    boolean — 1 if this is the default category assigned to new users, 0 otherwise

  • fileId

    integer — ID of the file used as the category avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the category avatar image

  • name

    string — Display name of the category

  • resources

    array — IDs of resources assigned to this category

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this category

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who belong to this category

    Items:

    integer

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "name": "Sample name",
    "default": true,
    "color": "#1f6feb",
    "fileId": 42,
    "statusSystemId": 42,
    "users": [
      1
    ],
    "resources": [
      1
    ],
    "status_system": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "image_url": "https://acme.boost.space"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a module by ID

  • Method: GET
  • Path: /module/{moduleId}
  • Tags: Modules

Parameters

moduleId required
  • In: path

Module ID

integer

Responses

Status: 200 Get one module
Content-Type: application/json
  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "iconName": "Sample iconName",
  "iconPrefix": "string",
  "name": "Sample name",
  "description": "string",
  "color": "#1f6feb",
  "boostId": "string",
  "isDemo": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a module

  • Method: DELETE
  • Path: /module/{moduleId}
  • Tags: Modules

Parameters

moduleId required
  • In: path

Module ID

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List modules

  • Method: GET
  • Path: /module
  • Tags: Modules

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get module list
Content-Type: application/json

Array of:

  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "iconName": "Sample iconName",
    "iconPrefix": "string",
    "name": "Sample name",
    "description": "string",
    "color": "#1f6feb",
    "boostId": "string",
    "isDemo": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update modules

  • Method: PUT
  • Path: /module
  • Tags: Modules

Request Body

Content-Type: application/json

Array of:

  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "iconName": "Sample iconName",
    "iconPrefix": "string",
    "name": "Sample name",
    "description": "string",
    "color": "#1f6feb",
    "boostId": "string",
    "isDemo": true
  }
]

Responses

Status: 200 Modules updated
Content-Type: application/json

Array of:

  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "iconName": "Sample iconName",
    "iconPrefix": "string",
    "name": "Sample name",
    "description": "string",
    "color": "#1f6feb",
    "boostId": "string",
    "isDemo": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk create modules

  • Method: POST
  • Path: /module
  • Tags: Modules

Request Body

Content-Type: application/json

Array of:

  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "iconName": "Sample iconName",
    "iconPrefix": "string",
    "name": "Sample name",
    "description": "string",
    "color": "#1f6feb",
    "boostId": "string",
    "isDemo": true
  }
]

Responses

Status: 201 Modules created
Content-Type: application/json

Array of:

  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "iconName": "Sample iconName",
    "iconPrefix": "string",
    "name": "Sample name",
    "description": "string",
    "color": "#1f6feb",
    "boostId": "string",
    "isDemo": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get deleted record IDs

  • Method: GET
  • Path: /record/deleted
  • Tags: Records

Parameters

updatedSince required
  • In: query

Unix timestamp; only return record IDs deleted after this point

integer

Responses

Status: 200 Array of deleted record IDs
Content-Type: application/json

Array of:

integer

Example:

[
  1
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get record's file upload status

  • Method: GET
  • Path: /record/{recordId}/file
  • Tags: Files

Parameters

recordId required
  • In: path

Record ID

integer

resumableIdentifier required
  • In: query

Reusmable identifier to check if part is uploaded

string

Responses

Status: 200 This part has been succesfully uploaded
Content-Type: application/json

string — No-Content

Example:

""
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 This part has not been uploaded yet
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get record's file

  • Method: GET
  • Path: /record/{recordId}/file/{fileId}
  • Tags: Files

Parameters

recordId required
  • In: path

Record ID

integer

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 One file
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete record's file

  • Method: DELETE
  • Path: /record/{recordId}/file/{fileId}
  • Tags: Files

Parameters

recordId required
  • In: path

Record ID

integer

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List record's connected files

  • Method: GET
  • Path: /record/{recordId}/file/
  • Tags: Files

Parameters

recordId required
  • In: path

Record ID

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of connected files
Content-Type: application/json

Array of:

  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "statusId": 42,
    "statusSystemId": 42,
    "path": "string",
    "fileName": "Sample fileName",
    "name": "Sample name",
    "type": "string",
    "customType": 1,
    "storage": 1,
    "filesize": "string",
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "module": "activities",
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true,
        "translations": {
          "en": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "it": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "cs": {
            "field1": "translation1",
            "field2": "translation2"
          }
        }
      }
    ],
    "publicUrl": "https://acme.boost.space",
    "resize": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "path": "string"
      }
    ],
    "status": {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "created_user_id": 42,
      "name": "Sample name",
      "color": "#1f6feb",
      "icon": "string",
      "icon_prefix": "string",
      "weight": 1,
      "status_system_id": 42,
      "boostId": "string",
      "spaces": [
        1
      ],
      "statusSystem": {}
    },
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "labels": [
      []
    ],
    "isFeaturedImage": true,
    "usage": [
      []
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update record file weight(s)

  • Method: PUT
  • Path: /record/{recordId}/file-weight
  • Tags: Files

Parameters

recordId required
  • In: path

ID of record

integer

Request Body

Content-Type: application/json

One of:

Array of:

  • id (required)

    integer — File ID

  • weight (required)

    integer — New weight value

  • id (required)

    integer — File ID

  • weight (required)

    integer — New weight value

Example:

[
  {
    "id": 1,
    "weight": 0
  }
]

Responses

Status: 200 Map of fileId => new weight for rows that actually changed
Content-Type: application/json

Example:

{
  "additionalProperty": 1
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a record by ID

  • Method: GET
  • Path: /module/{moduleId}/item/{recordId}
  • Tags: Records

Parameters

moduleId required
  • In: path

Module ID

integer

recordId required
  • In: path

Record ID

integer

Responses

Status: 200 Record
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List records

  • Method: GET
  • Path: /module/{moduleId}/item
  • Tags: Records

Parameters

moduleId required
  • In: path

Module ID

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Records
Content-Type: application/json

Array of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "statusSystemId": 42,
    "statusId": 42,
    "spaceId": 42,
    "featuredImageId": 42,
    "files": [
      1
    ],
    "labels": [
      1
    ],
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true
      }
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a label connected to a record

  • Method: GET
  • Path: /record/{recordId}/label/{labelId}
  • Tags: Labels

Parameters

recordId required
  • In: path

Record ID

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 200 Connected label
Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Connect a label to a record

  • Method: POST
  • Path: /record/{recordId}/label/{labelId}
  • Tags: Labels

Parameters

recordId required
  • In: path

Record ID

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 201 Succesfully created
Content-Type: text/plain
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Disconnect a label from a record

  • Method: DELETE
  • Path: /record/{recordId}/label/{labelId}
  • Tags: Labels

Parameters

recordId required
  • In: path

Record ID

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 200 Succesfully disconnected
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List labels connected to a record

  • Method: GET
  • Path: /record/{recordId}/label
  • Tags: Labels

Parameters

recordId required
  • In: path

Record ID

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Connected labels
Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a record by ID

  • Method: GET
  • Path: /record/{recordId}
  • Tags: Records

Parameters

recordId required
  • In: path

Record ID

integer

Responses

Status: 200 Record
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a record

  • Method: PUT
  • Path: /record/{recordId}
  • Tags: Records

Parameters

recordId required
  • In: path

Record ID

integer

Request Body

Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}

Responses

Status: 200 Updated record
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a record

  • Method: DELETE
  • Path: /record/{recordId}
  • Tags: Records

Parameters

recordId required
  • In: path

Record ID

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List records

  • Method: GET
  • Path: /record
  • Tags: Records

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

updatedSince
  • In: query

Unix timestamp; only return items updated after this point

integer

Responses

Status: 200 Records
Content-Type: application/json

Array of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "statusSystemId": 42,
    "statusId": 42,
    "spaceId": 42,
    "featuredImageId": 42,
    "files": [
      1
    ],
    "labels": [
      1
    ],
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true
      }
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update records

  • Method: PUT
  • Path: /record
  • Tags: Records

Request Body

Content-Type: application/json

Array of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "statusSystemId": 42,
    "statusId": 42,
    "spaceId": 42,
    "featuredImageId": 42,
    "files": [
      1
    ],
    "labels": [
      1
    ],
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true
      }
    ]
  }
]

Responses

Status: 200 Updated records
Content-Type: application/json

Array of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "statusSystemId": 42,
    "statusId": 42,
    "spaceId": 42,
    "featuredImageId": 42,
    "files": [
      1
    ],
    "labels": [
      1
    ],
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true
      }
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a record

  • Method: POST
  • Path: /record
  • Tags: Records

Request Body

Content-Type: application/json

All of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

  • rawPayload

    object — Whole source payload (JSON string or object) that will be auto-mapped to entity fields and customFieldsValues

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "rawPayload": ""
}

Responses

Status: 201 Record created
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a record by remote ID

  • Method: GET
  • Path: /record/remote/{remoteId}/{remoteApplication}
  • Tags: Records

Parameters

remoteId required
  • In: path

Remote ID of record to be synchronized

string

remoteApplication required
  • In: path

Name of remote application

string

Responses

Status: 200 Record
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Upsert a record by remote ID

  • Method: POST
  • Path: /record/remote/{remoteId}/{remoteApplication}
  • Tags: Records

Parameters

remoteId required
  • In: path

Remote ID of record to be synchronized

string

remoteApplication required
  • In: path

Name of remote application

string

Request Body

Content-Type: application/json

All of:

  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

  • rawPayload

    object — Whole source payload (JSON string or object) that will be auto-mapped to entity fields and customFieldsValues

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "rawPayload": ""
}

Responses

Status: 200 Record found & updated
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 201 Record created
Content-Type: application/json
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Find Record records semantically similar to a text query, scoped to one space.

  • Method: GET
  • Path: /record/vector/similar
  • Tags: Vector Database

Returns the top-N records from a single space whose embedded text fields are * closest to the query (cosine similarity, descending). Pre-filtering via filter or * segment_id runs BEFORE vector ranking so the candidate base is the same as an * equivalent GET /record?filter=... listing.

Parameters

space_id required
  • In: query

Tenant scope. Rows from other spaces are excluded. The acting user must have read access. The custom module the records belong to is derived from space.custom_module_id — the caller does not pass it.

integer

query required
  • In: query

Free-text query to embed and rank against. Max 4000 characters to keep the URL within Apache/NGINX default 8 KB limits.

string

limit
  • In: query

Maximum records to return. Defaults to 20. No hard upper cap at the API layer.

integer, default: 20

filter
  • In: query

Filter expression in the same syntax as GET /record?filter=.... Resolves to a candidate-record set via FilterManager before vector ranking. Mutually exclusive with segment_id.

string

segment_id
  • In: query

ID of a saved segment whose filter to apply. Mutually exclusive with filter. Segment must belong to module custom-module-item.

integer

min_similarity
  • In: query

Cosine similarity floor in [0, 1]. Records whose best embedding is below this similarity are dropped at SQL level (HAVING).

number, format: float

Responses

Status: 200 Ranked records.
Content-Type: application/json
  • queryTimeMs

    integer

  • results

    array

    Items:

    • record

      object

      • spaceId (required)

        integer — ID of the space this record belongs to.

      • statusSystemId (required)

        integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

      • boostId

        string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldsValues

        array — Values for all custom fields defined in the module, keyed by field definition.

        Items:

        • value (required)

          string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

        • created

          string, format: date-time — Creation datetime

        • customFieldInputId

          integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

        • customFieldInputName

          string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

        • entityId

          integer — ID of the record (within the given module) that this value is attached to.

        • fileId

          integer — ID of the uploaded file; used when the field inputType is 'file'.

        • id

          integer — Unique identifier of this field value record.

        • ipAddress

          string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

        • module

          string — Module this field value belongs to

        • selected

          boolean — TRUE if this value is selected (used for checkboxes and radio sets)

        • table

          string — Module table (if module has more tables). If not filled, is loaded automatically

        • translatable

          boolean — Is field translatable

        • translations

          object

        • valueDatetime

          string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

        • valueFloat

          number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

        • valueInt

          integer — Input value, stored as Integer (inner db representation of INT value

        • valueModule

          string — Module of connected entity. It's only for values from connected-value fields.

        • valueWysiwyg

          string — Input value, stored as Wysiwig (inner db representation of TEXT value)

      • featuredImageId

        integer — ID of the File used as the default image for this record.

      • files

        array — IDs of files attached to this record.

        Items:

        integer

      • id

        integer — Unique identifier - primary key

      • labels

        array — IDs of labels assigned to this record.

        Items:

        integer

      • statusId

        integer — ID of the user-defined sub-status within the system status.

    • recordId

      integer

    • similarity

      number, format: float

  • totalCandidates

    integer — Number of records with at least one embedding in the filtered scope.

Example:

{
  "results": [
    {
      "recordId": 12345,
      "similarity": 0.94,
      "record": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "statusSystemId": 42,
        "statusId": 42,
        "spaceId": 42,
        "featuredImageId": 42,
        "files": [
          1
        ],
        "labels": [
          1
        ],
        "boostId": "string",
        "customFieldsValues": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "valueWysiwyg": "string",
            "valueInt": 1,
            "valueFloat": 1.5,
            "valueDatetime": "2026-01-15T09:30:00Z",
            "valueModule": "string",
            "value": "string",
            "fileId": 42,
            "customFieldInputId": 42,
            "module": "activities",
            "table": "string",
            "entityId": 42,
            "customFieldInputName": "Sample customFieldInputName",
            "selected": true,
            "ipAddress": "string",
            "translatable": true,
            "translations": {
              "en": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "it": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "cs": {
                "field1": "translation1",
                "field2": "translation2"
              }
            }
          }
        ]
      }
    }
  ],
  "totalCandidates": 8000,
  "queryTimeMs": 38
}
Status: 400 Validation error (missing required param, segment/filter mutual exclusion, invalid threshold range, space/module mismatch, …).
Status: 401 Not authenticated.
Status: 403 User lacks read access to the requested space.
Status: 405 Method not GET.
Status: 502 Embedding provider call failed (logged; client may retry).

Find Record records semantically furthest from a text query, scoped to one space.

  • Method: GET
  • Path: /record/vector/outliers
  • Tags: Vector Database

Inverse of /similar: returns records whose embedded text fields are most * DISTANT from the query (cosine distance, descending). Same filter/scope rules as * /similar. Note: HNSW indexes do not accelerate distance-DESC queries; outlier * ranking is closer to a full scan over the filtered candidate set.

Parameters

space_id required
  • In: query

Tenant scope. Custom module derived from space.custom_module_id.

integer

query required
  • In: query

Free-text query to embed; ranking returns records UNLIKE this. Max 4000 characters.

string

limit
  • In: query

integer, default: 20

filter
  • In: query

Filter expression. Mutually exclusive with segment_id.

string

segment_id
  • In: query

ID of a saved segment whose filter to apply. Mutually exclusive with filter.

integer

max_distance
  • In: query

Cosine-distance floor in [0, 2]. Records whose best embedding is CLOSER than this are dropped.

number, format: float

Responses

Status: 200 Records ranked by descending cosine distance.
Content-Type: application/json
  • queryTimeMs

    integer

  • results

    array

    Items:

    • distance

      number, format: float

    • record

      object

      • spaceId (required)

        integer — ID of the space this record belongs to.

      • statusSystemId (required)

        integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

      • boostId

        string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldsValues

        array — Values for all custom fields defined in the module, keyed by field definition.

        Items:

        • value (required)

          string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

        • created

          string, format: date-time — Creation datetime

        • customFieldInputId

          integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

        • customFieldInputName

          string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

        • entityId

          integer — ID of the record (within the given module) that this value is attached to.

        • fileId

          integer — ID of the uploaded file; used when the field inputType is 'file'.

        • id

          integer — Unique identifier of this field value record.

        • ipAddress

          string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

        • module

          string — Module this field value belongs to

        • selected

          boolean — TRUE if this value is selected (used for checkboxes and radio sets)

        • table

          string — Module table (if module has more tables). If not filled, is loaded automatically

        • translatable

          boolean — Is field translatable

        • translations

          object

        • valueDatetime

          string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

        • valueFloat

          number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

        • valueInt

          integer — Input value, stored as Integer (inner db representation of INT value

        • valueModule

          string — Module of connected entity. It's only for values from connected-value fields.

        • valueWysiwyg

          string — Input value, stored as Wysiwig (inner db representation of TEXT value)

      • featuredImageId

        integer — ID of the File used as the default image for this record.

      • files

        array — IDs of files attached to this record.

        Items:

        integer

      • id

        integer — Unique identifier - primary key

      • labels

        array — IDs of labels assigned to this record.

        Items:

        integer

      • statusId

        integer — ID of the user-defined sub-status within the system status.

    • recordId

      integer

  • totalCandidates

    integer

Example:

{
  "results": [
    {
      "recordId": 99887,
      "distance": 0.91,
      "record": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "statusSystemId": 42,
        "statusId": 42,
        "spaceId": 42,
        "featuredImageId": 42,
        "files": [
          1
        ],
        "labels": [
          1
        ],
        "boostId": "string",
        "customFieldsValues": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "valueWysiwyg": "string",
            "valueInt": 1,
            "valueFloat": 1.5,
            "valueDatetime": "2026-01-15T09:30:00Z",
            "valueModule": "string",
            "value": "string",
            "fileId": 42,
            "customFieldInputId": 42,
            "module": "activities",
            "table": "string",
            "entityId": 42,
            "customFieldInputName": "Sample customFieldInputName",
            "selected": true,
            "ipAddress": "string",
            "translatable": true,
            "translations": {
              "en": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "it": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "cs": {
                "field1": "translation1",
                "field2": "translation2"
              }
            }
          }
        ]
      }
    }
  ],
  "totalCandidates": 8000,
  "queryTimeMs": 38
}
Status: 400 Validation error.
Status: 401 Not authenticated.
Status: 403 User lacks read access to the requested space.
Status: 405 Method not GET.
Status: 502 Embedding provider call failed.

Lightweight semantic-context lookup designed for AI agents.

  • Method: GET
  • Path: /record/vector/context
  • Tags: Vector Database

Returns a compact list of records most semantically relevant to the query. * Custom field values are emitted in short notation only (value, id, created, updated, * customFieldInputId, customFieldInputName) — no full DB representation. Designed for * AI agents that need lean context before acting; planned for future MCP-tool wrapping * so the response shape stays trivial to transform.

Parameters

space_id required
  • In: query

Tenant scope. Custom module derived from space.custom_module_id.

integer

query required
  • In: query

string

limit
  • In: query

integer, default: 20

filter
  • In: query

Filter expression. Mutually exclusive with segment_id.

string

segment_id
  • In: query

Saved segment whose filter to apply. When present, the response includes fromSegment with the segment name.

integer

Responses

Status: 200 Compact records.
Content-Type: application/json
  • context

    array

    Items:

  • fromSegment

    string — Segment name; only present when `segment_id` was provided.

  • retrieved

    integer

Example:

{
  "context": [
    {}
  ],
  "retrieved": 10,
  "fromSegment": "Enterprise Deals Q2"
}
Status: 400 Validation error.
Status: 401 Not authenticated.
Status: 403 User lacks read access to the requested space.
Status: 405 Method not GET.
Status: 502 Embedding provider call failed.

List fields available in the given spaces

  • Method: GET
  • Path: /field/by-space/{spaceId}
  • Tags: Fields

Lists field definitions available in the specified spaces. Pass space IDs as a comma-separated spaces query parameter (takes precedence) or as a path parameter.

Parameters

spaceId required
  • In: path

ID of space which fields to get

integer, format: int64

spaces
  • In: query

Array of space IDs which fields to get (separated by comma) - if set, takes precedence before spaceId parameter

string

Responses

Status: 200 Field list
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

[Deprecated] Use /field/by-space/{spaceId} ⚠️ Deprecated

  • Method: GET
  • Path: /custom-field/by-space/{spaceId}
  • Tags: Fields

Deprecated alias kept for backward compatibility after the custom-field module was renamed to field. Responses carry an RFC 9745 Deprecation header and a successor Link header; migrate to the canonical GET /field/by-space/{spaceId}.

Parameters

spaceId required
  • In: path

ID of space which fields to get

integer, format: int64

spaces
  • In: query

Array of space IDs which fields to get (separated by comma) - if set, takes precedence before spaceId parameter

string

Responses

Status: 200 Field list
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a field group by ID

  • Method: GET
  • Path: /field-group/{fieldGroupId}
  • Tags: Field Groups

Parameters

fieldGroupId required
  • In: path

ID of Element group

integer

Responses

Status: 200 Field Group record
Content-Type: application/json
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a field group

  • Method: PUT
  • Path: /field-group/{fieldGroupId}
  • Tags: Field Groups

Parameters

fieldGroupId required
  • In: path

ID of Element group

integer

Request Body

Content-Type: application/json
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}

Responses

Status: 200 Updated Field Group
Content-Type: application/json
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a field group

  • Method: DELETE
  • Path: /field-group/{fieldGroupId}
  • Tags: Field Groups

Parameters

fieldGroupId required
  • In: path

ID of Element group

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List field groups

  • Method: GET
  • Path: /field-group
  • Tags: Field Groups

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of Field Group records
Content-Type: application/json

Array of:

  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "name": "Sample name",
    "module": "string",
    "table": "string",
    "size": "string",
    "weight": 1,
    "inputSize": "string",
    "static": "string",
    "systemName": "Sample systemName",
    "derivedFrom": 1,
    "boostId": "string",
    "protected": true,
    "inputs": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "name": "Sample name",
        "description": "string",
        "tooltip": "string",
        "percentUpTo100": true,
        "isLabel": "string",
        "className": "Sample className",
        "relatedEntityCfId": "string",
        "relatedValueCounterpart": true,
        "property": "string",
        "inputType": "related_entity",
        "required": true,
        "order=0": 1,
        "fieldGroups": [],
        "actionId": 42,
        "currencyId": 42,
        "inputOptions": [],
        "remotes": [],
        "spaces": [],
        "inputCalculation": "string",
        "relatedCustomModuleId": 42,
        "relatedEntityProperty": "string",
        "provider": "platform",
        "providerId": 42,
        "visible": true,
        "rollupRelationInputId": 42,
        "rollupTargetInputId": 42,
        "rollupAggregation": "showOriginal",
        "aiPrompt": "string",
        "aiVoiceTone": "auto",
        "aiLength": "auto",
        "aiFormatting": "text",
        "aiCreativity": "high",
        "aiType": "auto",
        "translatable": true
      }
    ],
    "entities": [
      {
        "entityId": 42,
        "module": "string",
        "spaceId": 42,
        "fieldGroupPositionId": 42,
        "position": "string"
      }
    ],
    "autoAttach": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a field group

  • Method: POST
  • Path: /field-group
  • Tags: Field Groups

Request Body

Content-Type: application/json
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}

Responses

Status: 201 Created Field Group
Content-Type: application/json
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Generate a value for a field using AI

  • Method: GET
  • Path: /field/generate/{fieldId}
  • Tags: AI Features

Uses AI to generate values for one or more fields on a given entity. entityId may be a single ID or a JSON-encoded array. Requires edit permissions on the entity and sufficient AI token balance.

Parameters

fieldId required
  • In: path

A JSON-encoded list of IDs or a single field ID.

integer

entityModule required
  • In: query

Module of field value

string

entityId required
  • In: query

Id of field value

integer

Responses

Status: 200 Response 200
Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List fields of a group

  • Method: GET
  • Path: /field-group/{groupId}/input
  • Tags: Fields

Parameters

groupId required
  • In: path

ID of field group

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Response 200
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a field definition

  • Method: GET
  • Path: /field/{fieldId}
  • Tags: Fields

Parameters

fieldId required
  • In: path

ID of field

integer

Responses

Status: 200 Response 200
Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a field

  • Method: PUT
  • Path: /field/{fieldId}
  • Tags: Fields

Parameters

fieldId required
  • In: path

ID of field

integer

Request Body

Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}

Responses

Status: 200 Response 200
Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a field

  • Method: DELETE
  • Path: /field/{fieldId}
  • Tags: Fields

Parameters

fieldId required
  • In: path

ID of field

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List fields

  • Method: GET
  • Path: /field
  • Tags: Fields

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of field input definitions
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update fields

  • Method: PUT
  • Path: /field
  • Tags: Fields

Request Body

Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]

Responses

Status: 200 Response 200
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a field

  • Method: POST
  • Path: /field
  • Tags: Fields

Request Body

Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}

Responses

Status: 201 Response 201
Content-Type: application/json
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List fields defined for a specific entity type

  • Method: GET
  • Path: /field/of/{module}/{entityId}
  • Tags: Fields

Parameters

module required
  • In: path

Module of which fields to get

string

entityId required
  • In: path

Id of entity which fields to get

integer

Responses

Status: 200 Field list
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Reorder field inputs within a group

  • Method: PUT
  • Path: /field/order/
  • Tags: Fields

Request Body

Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]

Responses

Status: 200 Field input order
Content-Type: application/json

Array of:

  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "tooltip": "string",
    "percentUpTo100": true,
    "isLabel": "string",
    "className": "Sample className",
    "relatedEntityCfId": "string",
    "relatedValueCounterpart": true,
    "property": "string",
    "inputType": "related_entity",
    "required": true,
    "order=0": 1,
    "fieldGroups": [
      1
    ],
    "actionId": 42,
    "currencyId": 42,
    "inputOptions": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "customFieldInputId": 42,
        "label": "string",
        "value": "string",
        "color": "#1f6feb"
      }
    ],
    "remotes": [
      {
        "id": "1",
        "application": "string",
        "delete": true
      }
    ],
    "spaces": [
      1
    ],
    "inputCalculation": "string",
    "relatedCustomModuleId": 42,
    "relatedEntityProperty": "string",
    "provider": "platform",
    "providerId": 42,
    "visible": true,
    "rollupRelationInputId": 42,
    "rollupTargetInputId": 42,
    "rollupAggregation": "showOriginal",
    "aiPrompt": "string",
    "aiVoiceTone": "auto",
    "aiLength": "auto",
    "aiFormatting": "text",
    "aiCreativity": "high",
    "aiType": "auto",
    "translatable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List field group positions

  • Method: GET
  • Path: /field/position
  • Tags: Fields

Responses

Status: 200 Get Field Group Positions
Content-Type: application/json

Array of:

  • position

    string, possible values: "tab", "bottom", "todolist", "list-top", "list-bottom" — Group position

Example:

[
  {
    "position": "tab"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

[Deprecated] Use /field/position ⚠️ Deprecated

  • Method: GET
  • Path: /custom-field/position
  • Tags: Fields

Deprecated alias kept for backward compatibility after the custom-field module was renamed to field. Responses carry an RFC 9745 Deprecation header and a successor Link header; migrate to the canonical GET /field/position.

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get Field Group Positions
Content-Type: application/json

Array of:

  • position

    string, possible values: "tab", "bottom", "todolist", "list-top", "list-bottom" — Group position

Example:

[
  {
    "position": "tab"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Validate a field calculation formula

  • Method: POST
  • Path: /validate-calculation-function
  • Tags: AI Features

Validates a field calculation formula against the supplied parameters. Returns a success flag and an error message if validation fails.

Request Body

Content-Type: application/json
  • inputCalculation (required)

    string — Calculation formula to validate

  • params (required)

    object — Parameters to evaluate the formula against

Example:

{
  "inputCalculation": "",
  "params": {}
}

Responses

Status: 200 Formula was validated.
Status: 400 Request is not valid.
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a file record by ID

  • Method: GET
  • Path: /file/{fileId}
  • Tags: Files

Parameters

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 Get one File Record
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a file record

  • Method: PUT
  • Path: /file/{fileId}
  • Tags: Files

Parameters

fileId required
  • In: path

ID of file

integer

Request Body

Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}

Responses

Status: 200 File update
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete an attached file

  • Method: DELETE
  • Path: /file/{fileId}
  • Tags: Files

Parameters

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Stream file inline for browser preview

  • Method: GET
  • Path: /file/{fileId}/show
  • Tags: Files

Streams the file inline for browser preview. Add base64=true to receive the content as a base64-encoded JSON string instead of raw bytes.

Parameters

fileId required
  • In: path

ID of file

integer

show
  • In: query

Set to true to stream the file inline

boolean

base64
  • In: query

Set to true to receive file content as a base64-encoded JSON string instead of raw bytes

boolean

Responses

Status: 200 File contents
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Download a file

  • Method: GET
  • Path: /file/{fileId}/download
  • Tags: Files

Serves the file with an attachment Content-Disposition header and the original filename, triggering a browser download dialog.

Parameters

fileId required
  • In: path

ID of file

integer

download
  • In: query

Set to true to trigger a browser download dialog

boolean

Responses

Status: 200 Downloaded file
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List file records

  • Method: GET
  • Path: /file/
  • Tags: Files

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get File list
Content-Type: application/json

Array of:

  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "statusId": 42,
    "statusSystemId": 42,
    "path": "string",
    "fileName": "Sample fileName",
    "name": "Sample name",
    "type": "string",
    "customType": 1,
    "storage": 1,
    "filesize": "string",
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "module": "activities",
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true,
        "translations": {
          "en": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "it": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "cs": {
            "field1": "translation1",
            "field2": "translation2"
          }
        }
      }
    ],
    "publicUrl": "https://acme.boost.space",
    "resize": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "path": "string"
      }
    ],
    "status": {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "created_user_id": 42,
      "name": "Sample name",
      "color": "#1f6feb",
      "icon": "string",
      "icon_prefix": "string",
      "weight": 1,
      "status_system_id": 42,
      "boostId": "string",
      "spaces": [
        1
      ],
      "statusSystem": {}
    },
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "labels": [
      []
    ],
    "isFeaturedImage": true,
    "usage": [
      []
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Upload and register a file

  • Method: POST
  • Path: /file
  • Tags: Files

Uploads a file from base64-encoded data. Accepts an optional sizes array for thumbnail generation. Validates MIME type and size limits.

Request Body

Content-Type: application/json
  • image (required)

    string, format: byte — Base64-encoded file content

  • name (required)

    string — Original filename

  • sizes

    array — Optional thumbnail sizes to generate

    Items:

    integer

Example:

{
  "image": "",
  "name": "",
  "sizes": [
    1
  ]
}

Responses

Status: 201 File create
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List labels available to connect

  • Method: GET
  • Path: /file/{fileId}/label/connectible
  • Tags: Labels

Parameters

fileId required
  • In: path

ID of file

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Connectible labels
Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a connected label

  • Method: GET
  • Path: /file/{fileId}/label/{labelId}
  • Tags: Labels

Parameters

fileId required
  • In: path

ID of file

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 200 Connected label
Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Connect a label

  • Method: POST
  • Path: /file/{fileId}/label/{labelId}
  • Tags: Labels

Parameters

fileId required
  • In: path

ID of business order

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 201 Succesfully created
Content-Type: text/plain
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Disconnect a label

  • Method: DELETE
  • Path: /file/{fileId}/label/{labelId}
  • Tags: Labels

Parameters

fileId required
  • In: path

ID of file

integer

labelId required
  • In: path

Label id

integer

Responses

Status: 200 Succesfully disconnected
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List connected labels

  • Method: GET
  • Path: /file/{fileId}/label
  • Tags: Labels

Parameters

fileId required
  • In: path

ID of file

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Connected labels
Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List labels

  • Method: GET
  • Path: /label
  • Tags: Labels

Parameters

space
  • In: query

Filter labels by space ID. Accepts a single ID or a comma-separated list. Labels with no space (global) are always included

string

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Label records list
Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update labels

  • Method: PUT
  • Path: /label
  • Tags: Labels

Request Body

Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]

Responses

Status: 200 Label updated records
Content-Type: application/json

Array of:

  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "spaces": {
      "12": [
        "contact",
        "todo"
      ],
      "34": []
    },
    "name": "Sample name",
    "color": "#1f6feb",
    "type": "string",
    "module": "string",
    "editable": true
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a label

  • Method: POST
  • Path: /label
  • Tags: Labels

Request Body

Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}

Responses

Status: 201 Label - Created record
Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk delete labels

  • Method: DELETE
  • Path: /label
  • Tags: Labels

Request Body

Content-Type: application/json

Array of:

integer

Example:

[
  1
]

Responses

Status: 200 Records succesfully deleted
Content-Type: application/json

Array of:

integer

Example:

[
  1
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a label by ID

  • Method: GET
  • Path: /label/{labelId}
  • Tags: Labels

Parameters

labelId required
  • In: path

ID of label

integer

Responses

Status: 200 Label - Get record
Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a label

  • Method: PUT
  • Path: /label/{labelId}
  • Tags: Labels

Parameters

labelId required
  • In: path

ID of label

integer

Request Body

Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}

Responses

Status: 200 Label updated record
Content-Type: application/json
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a label

  • Method: DELETE
  • Path: /label/{labelId}
  • Tags: Labels

Parameters

labelId required
  • In: path

ID of label

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a menu item by ID

  • Method: GET
  • Path: /menu/{menuId}
  • Tags: Menus

Parameters

menuId required
  • In: path

Menu item ID

integer

Responses

Status: 200 Menu object
Content-Type: application/json
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a menu item

  • Method: PUT
  • Path: /menu/{menuId}
  • Tags: Menus

Parameters

menuId required
  • In: path

Menu item ID

integer

Request Body

Content-Type: application/json
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}

Responses

Status: 200 Updated menu item
Content-Type: application/json
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a menu item

  • Method: DELETE
  • Path: /menu/{menuId}
  • Tags: Menus

Parameters

menuId required
  • In: path

Menu item ID

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List menu items

  • Method: GET
  • Path: /menu
  • Tags: Menus

Parameters

space_id
  • In: query

If provided, returns the menu items of the given space (requires administration permission). If omitted, returns the menu items available to the current user.

integer

loadAll
  • In: query

When set to 'true' and the current user is an admin, returns all menu items across spaces instead of only the user's items.

string, possible values: "true", "false"

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of menu items
Content-Type: application/json

Array of:

  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "modified": "2026-01-15T09:30:00Z",
    "entityId": 42,
    "parentId": 42,
    "customModuleId": 42,
    "spaceId": 42,
    "type": "module",
    "module": "string",
    "view": "string",
    "content": "string",
    "target": "string",
    "order": 1,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "display": true,
    "users": [
      1
    ],
    "teams": [
      1
    ],
    "categories": [
      1
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a menu item

  • Method: POST
  • Path: /menu
  • Tags: Menus

Request Body

Content-Type: application/json
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}

Responses

Status: 201 Created menu item
Content-Type: application/json
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a space by ID

  • Method: GET
  • Path: /space/{spaceId}
  • Tags: Spaces

Parameters

spaceId required
  • In: path

ID of Space

integer

Responses

Status: 200 Get one Space
Content-Type: application/json
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a space

  • Method: PUT
  • Path: /space/{spaceId}
  • Tags: Spaces

Parameters

spaceId required
  • In: path

ID of Space

integer

Request Body

Content-Type: application/json
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}

Responses

Status: 200 Space update
Content-Type: application/json
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a space

  • Method: DELETE
  • Path: /space/{spaceId}
  • Tags: Spaces

Parameters

spaceId required
  • In: path

ID of Space

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List spaces

  • Method: GET
  • Path: /space
  • Tags: Spaces

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get Space list
Content-Type: application/json

Array of:

  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "module": "string",
    "weight": 1,
    "status_system_id": 42,
    "status_id": 42,
    "color": "#1f6feb",
    "right": "project",
    "right_id": 42,
    "lft": 1,
    "rgt": 1,
    "trid": 42,
    "depth": 1,
    "parent_node_id": 42,
    "is_visible": true,
    "vectorSearchEnabled": true,
    "estimated_time": 1,
    "customModuleId": 42,
    "boostId": "string",
    "assigned_users": [
      1
    ],
    "assigned_categories": [
      1
    ],
    "assigned_teams": [
      1
    ],
    "users": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "teams": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "categories": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "status_system": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "spacesAllowed": {
      "key": [
        1
      ]
    },
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "module": "activities",
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true,
        "translations": {
          "en": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "it": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "cs": {
            "field1": "translation1",
            "field2": "translation2"
          }
        }
      }
    ],
    "files": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "statusId": 42,
        "statusSystemId": 42,
        "path": "string",
        "fileName": "Sample fileName",
        "name": "Sample name",
        "type": "string",
        "customType": 1,
        "storage": 1,
        "filesize": "string",
        "boostId": "string",
        "customFieldsValues": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "valueWysiwyg": "string",
            "valueInt": 1,
            "valueFloat": 1.5,
            "valueDatetime": "2026-01-15T09:30:00Z",
            "valueModule": "string",
            "value": "string",
            "fileId": 42,
            "customFieldInputId": 42,
            "module": "activities",
            "table": "string",
            "entityId": 42,
            "customFieldInputName": "Sample customFieldInputName",
            "selected": true,
            "ipAddress": "string",
            "translatable": true,
            "translations": {
              "en": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "it": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "cs": {
                "field1": "translation1",
                "field2": "translation2"
              }
            }
          }
        ],
        "publicUrl": "https://acme.boost.space",
        "resize": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "path": "string"
          }
        ],
        "status": {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "created_user_id": 42,
          "name": "Sample name",
          "color": "#1f6feb",
          "icon": "string",
          "icon_prefix": "string",
          "weight": 1,
          "status_system_id": 42,
          "boostId": "string",
          "spaces": [
            1
          ],
          "statusSystem": {}
        },
        "statusSystem": {
          "id": 42,
          "color": "#1f6feb",
          "icon_prefix": "string",
          "icon": "string",
          "module": "string",
          "weight": 1,
          "name": "Sample name",
          "system_name": "Sample system_name",
          "activated": 1,
          "custom": true,
          "allow_move": "string",
          "boostId": "string"
        },
        "labels": [
          []
        ],
        "isFeaturedImage": true,
        "usage": [
          []
        ]
      }
    ],
    "chatRooms": [
      1
    ],
    "pages": [
      1
    ],
    "reservable": true,
    "prestashopSync": true,
    "reservationUnit": "string",
    "gistSync": true,
    "accountingUnit": "string",
    "controls": [
      {}
    ],
    "editAllowSeconds": 1,
    "isVirtual": true,
    "businessContractMask": "string",
    "businessCaseMask": "string",
    "businessOfferMask": "string",
    "businessOrderMask": "string",
    "invoiceMask": "string",
    "purchaseMask": "string",
    "notificationOnSpaceCreate": true,
    "businessCaseAddButtonOptions": [
      "offer"
    ],
    "businessContractAddButtonOptions": [
      "offer"
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a space

  • Method: POST
  • Path: /space
  • Tags: Spaces

Request Body

Content-Type: application/json
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}

Responses

Status: 201 Space create
Content-Type: application/json
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get file upload status

  • Method: GET
  • Path: /space/{spaceId}/file
  • Tags: Files

Parameters

spaceId required
  • In: path

ID of space

integer

resumableIdentifier required
  • In: query

Reusmable identifier to check if part is uploaded

string

Responses

Status: 200 This part has been succesfully uploaded
Content-Type: application/json

string — No-Content

Example:

""
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 This part has not been uploaded yet
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get an attached file

  • Method: GET
  • Path: /space/{spaceId}/file/{fileId}
  • Tags: Files

Parameters

spaceId required
  • In: path

ID of space

integer

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 One file
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update an attached file

  • Method: PUT
  • Path: /space/{spaceId}/file/{fileId}
  • Tags: Files

Parameters

spaceId required
  • In: path

ID of space

integer

fileId required
  • In: path

ID of file

integer

Request Body

Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}

Responses

Status: 200 One file
Content-Type: application/json
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete an attached file

  • Method: DELETE
  • Path: /space/{spaceId}/file/{fileId}
  • Tags: Files

Parameters

spaceId required
  • In: path

ID of space

integer

fileId required
  • In: path

ID of file

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List attached files

  • Method: GET
  • Path: /space/{spaceId}/file/
  • Tags: Files

Parameters

spaceId required
  • In: path

ID of space

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of connected files
Content-Type: application/json

Array of:

  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "statusId": 42,
    "statusSystemId": 42,
    "path": "string",
    "fileName": "Sample fileName",
    "name": "Sample name",
    "type": "string",
    "customType": 1,
    "storage": 1,
    "filesize": "string",
    "boostId": "string",
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "module": "activities",
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true,
        "translations": {
          "en": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "it": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "cs": {
            "field1": "translation1",
            "field2": "translation2"
          }
        }
      }
    ],
    "publicUrl": "https://acme.boost.space",
    "resize": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "path": "string"
      }
    ],
    "status": {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "created_user_id": 42,
      "name": "Sample name",
      "color": "#1f6feb",
      "icon": "string",
      "icon_prefix": "string",
      "weight": 1,
      "status_system_id": 42,
      "boostId": "string",
      "spaces": [
        1
      ],
      "statusSystem": {}
    },
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "labels": [
      []
    ],
    "isFeaturedImage": true,
    "usage": [
      []
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Reorder spaces by weight

  • Method: PUT
  • Path: /space/weight
  • Tags: Spaces

Reorders spaces by updating their display weight. Accepts either a single space object or an array. Admin-only; id and weight must be positive integers.

Request Body

Content-Type: application/json

Array of:

  • id (required)

    integer — Space ID

  • weight (required)

    integer — New weight value

Example:

[
  {
    "id": 1,
    "weight": 0
  }
]

Responses

Status: 200 Space weight reorder
Content-Type: application/json

Array of:

  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "name": "Sample name",
    "description": "string",
    "module": "string",
    "weight": 1,
    "status_system_id": 42,
    "status_id": 42,
    "color": "#1f6feb",
    "right": "project",
    "right_id": 42,
    "lft": 1,
    "rgt": 1,
    "trid": 42,
    "depth": 1,
    "parent_node_id": 42,
    "is_visible": true,
    "vectorSearchEnabled": true,
    "estimated_time": 1,
    "customModuleId": 42,
    "boostId": "string",
    "assigned_users": [
      1
    ],
    "assigned_categories": [
      1
    ],
    "assigned_teams": [
      1
    ],
    "users": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "teams": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "categories": {
      "owner": [
        1
      ],
      "manager": [
        1
      ],
      "member": [
        1
      ]
    },
    "status_system": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "spacesAllowed": {
      "key": [
        1
      ]
    },
    "customFieldsValues": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "valueWysiwyg": "string",
        "valueInt": 1,
        "valueFloat": 1.5,
        "valueDatetime": "2026-01-15T09:30:00Z",
        "valueModule": "string",
        "value": "string",
        "fileId": 42,
        "customFieldInputId": 42,
        "module": "activities",
        "table": "string",
        "entityId": 42,
        "customFieldInputName": "Sample customFieldInputName",
        "selected": true,
        "ipAddress": "string",
        "translatable": true,
        "translations": {
          "en": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "it": {
            "field1": "translation1",
            "field2": "translation2"
          },
          "cs": {
            "field1": "translation1",
            "field2": "translation2"
          }
        }
      }
    ],
    "files": [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "statusId": 42,
        "statusSystemId": 42,
        "path": "string",
        "fileName": "Sample fileName",
        "name": "Sample name",
        "type": "string",
        "customType": 1,
        "storage": 1,
        "filesize": "string",
        "boostId": "string",
        "customFieldsValues": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "valueWysiwyg": "string",
            "valueInt": 1,
            "valueFloat": 1.5,
            "valueDatetime": "2026-01-15T09:30:00Z",
            "valueModule": "string",
            "value": "string",
            "fileId": 42,
            "customFieldInputId": 42,
            "module": "activities",
            "table": "string",
            "entityId": 42,
            "customFieldInputName": "Sample customFieldInputName",
            "selected": true,
            "ipAddress": "string",
            "translatable": true,
            "translations": {
              "en": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "it": {
                "field1": "translation1",
                "field2": "translation2"
              },
              "cs": {
                "field1": "translation1",
                "field2": "translation2"
              }
            }
          }
        ],
        "publicUrl": "https://acme.boost.space",
        "resize": [
          {
            "id": 42,
            "created": "2026-01-15T09:30:00Z",
            "path": "string"
          }
        ],
        "status": {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "created_user_id": 42,
          "name": "Sample name",
          "color": "#1f6feb",
          "icon": "string",
          "icon_prefix": "string",
          "weight": 1,
          "status_system_id": 42,
          "boostId": "string",
          "spaces": [
            1
          ],
          "statusSystem": {}
        },
        "statusSystem": {
          "id": 42,
          "color": "#1f6feb",
          "icon_prefix": "string",
          "icon": "string",
          "module": "string",
          "weight": 1,
          "name": "Sample name",
          "system_name": "Sample system_name",
          "activated": 1,
          "custom": true,
          "allow_move": "string",
          "boostId": "string"
        },
        "labels": [
          []
        ],
        "isFeaturedImage": true,
        "usage": [
          []
        ]
      }
    ],
    "chatRooms": [
      1
    ],
    "pages": [
      1
    ],
    "reservable": true,
    "prestashopSync": true,
    "reservationUnit": "string",
    "gistSync": true,
    "accountingUnit": "string",
    "controls": [
      {}
    ],
    "editAllowSeconds": 1,
    "isVirtual": true,
    "businessContractMask": "string",
    "businessCaseMask": "string",
    "businessOfferMask": "string",
    "businessOrderMask": "string",
    "invoiceMask": "string",
    "purchaseMask": "string",
    "notificationOnSpaceCreate": true,
    "businessCaseAddButtonOptions": [
      "offer"
    ],
    "businessContractAddButtonOptions": [
      "offer"
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a status by ID

  • Method: GET
  • Path: /status/{statusId}
  • Tags: Statuses

Parameters

statusId required
  • In: path

ID of Status

integer

Responses

Status: 200 Status record
Content-Type: application/json
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a status

  • Method: PUT
  • Path: /status/{statusId}
  • Tags: Statuses

Parameters

statusId required
  • In: path

ID of Status

integer

Request Body

Content-Type: application/json
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}

Responses

Status: 200 Status record updated values
Content-Type: application/json
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a status

  • Method: DELETE
  • Path: /status/{statusId}
  • Tags: Statuses

Parameters

statusId required
  • In: path

ID of Status

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List statuses

  • Method: GET
  • Path: /status/
  • Tags: Statuses

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

modul
  • In: query

Status module

string

spaceId
  • In: query

Status spaceId. Multiple ids can be separated using comma

integer, format: int64

statusSystemId
  • In: query

StatusSystem ID

integer, format: int64

Responses

Status: 200 Status list of records
Content-Type: application/json

Array of:

  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update statuses

  • Method: PUT
  • Path: /status/
  • Tags: Statuses

Request Body

Content-Type: application/json

Array of:

  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  }
]

Responses

Status: 200 Status records updated values
Content-Type: application/json

Array of:

  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a status

  • Method: POST
  • Path: /status/
  • Tags: Statuses

Request Body

Content-Type: application/json
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}

Responses

Status: 200 Status record created
Content-Type: application/json
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a system status by ID

  • Method: GET
  • Path: /status-system/{statusSystemId}
  • Tags: Statuses

Parameters

statusSystemId required
  • In: path

ID of StatusSystem

integer

Responses

Status: 200 StatusSystem record
Content-Type: application/json
  • activated

    integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

  • allow_move

    string — Serialized JSON rule set defining which status transitions are permitted within this status system

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status system color

  • custom

    boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

  • icon

    string — Status system icon

  • icon_prefix

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • id

    integer — Unique identifier - primary key

  • module

    string — Module type this status system is associated with (e.g. contact, deal, todo)

  • name

    string — Status system name

  • system_name

    string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "color": "#1f6feb",
  "icon_prefix": "string",
  "icon": "string",
  "module": "string",
  "weight": 1,
  "name": "Sample name",
  "system_name": "Sample system_name",
  "activated": 1,
  "custom": true,
  "allow_move": "string",
  "boostId": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a system status

  • Method: PUT
  • Path: /status-system/{statusSystemId}
  • Tags: Statuses

Parameters

statusSystemId required
  • In: path

StatusSystem ID

integer

Request Body

Content-Type: application/json
  • activated

    integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

  • allow_move

    string — Serialized JSON rule set defining which status transitions are permitted within this status system

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status system color

  • custom

    boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

  • icon

    string — Status system icon

  • icon_prefix

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • id

    integer — Unique identifier - primary key

  • module

    string — Module type this status system is associated with (e.g. contact, deal, todo)

  • name

    string — Status system name

  • system_name

    string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "color": "#1f6feb",
  "icon_prefix": "string",
  "icon": "string",
  "module": "string",
  "weight": 1,
  "name": "Sample name",
  "system_name": "Sample system_name",
  "activated": 1,
  "custom": true,
  "allow_move": "string",
  "boostId": "string"
}

Responses

Status: 200 StatusSystem record updated values
Content-Type: application/json
  • activated

    integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

  • allow_move

    string — Serialized JSON rule set defining which status transitions are permitted within this status system

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status system color

  • custom

    boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

  • icon

    string — Status system icon

  • icon_prefix

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • id

    integer — Unique identifier - primary key

  • module

    string — Module type this status system is associated with (e.g. contact, deal, todo)

  • name

    string — Status system name

  • system_name

    string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "color": "#1f6feb",
  "icon_prefix": "string",
  "icon": "string",
  "module": "string",
  "weight": 1,
  "name": "Sample name",
  "system_name": "Sample system_name",
  "activated": 1,
  "custom": true,
  "allow_move": "string",
  "boostId": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List system statuses

  • Method: GET
  • Path: /status-system/
  • Tags: Statuses

Parameters

modul
  • In: query

Module for which to get status system (empty for all modules)

string

Responses

Status: 200 list of StatusSystem records
Content-Type: application/json

Array of:

  • activated

    integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

  • allow_move

    string — Serialized JSON rule set defining which status transitions are permitted within this status system

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status system color

  • custom

    boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

  • icon

    string — Status system icon

  • icon_prefix

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • id

    integer — Unique identifier - primary key

  • module

    string — Module type this status system is associated with (e.g. contact, deal, todo)

  • name

    string — Status system name

  • system_name

    string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

  • weight

    integer — Display order position; lower values appear first

Example:

[
  {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a team by ID

  • Method: GET
  • Path: /team/{id}
  • Tags: Teams

Parameters

id required
  • In: path

Team ID

integer

Responses

Status: 200 Team object
Content-Type: application/json
  • color

    string — Display color for this team in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • fileId

    integer — ID of the file used as the team avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the team avatar image

  • name

    string — Display name of the team

  • resources

    array — IDs of resources assigned to this team

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this team

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who are members of this team

    Items:

    integer

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "fileId": 42,
  "statusSystemId": 42,
  "users": [
    1
  ],
  "resources": [
    1
  ],
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "image_url": "https://acme.boost.space"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List all teams

  • Method: GET
  • Path: /team
  • Tags: Teams

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 List of teams
Content-Type: application/json

Array of:

  • color

    string — Display color for this team in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • fileId

    integer — ID of the file used as the team avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the team avatar image

  • name

    string — Display name of the team

  • resources

    array — IDs of resources assigned to this team

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this team

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who are members of this team

    Items:

    integer

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "fileId": 42,
    "statusSystemId": 42,
    "users": [
      1
    ],
    "resources": [
      1
    ],
    "status_system": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    },
    "image_url": "https://acme.boost.space"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List users in a team

  • Method: GET
  • Path: /team/{id}/user
  • Tags: Teams

Parameters

id required
  • In: path

Team ID

integer

Responses

Status: 200 List of users
Content-Type: application/json

Array of:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "labels": [
      1
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a user by ID

  • Method: GET
  • Path: /user/{userId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

Responses

Status: 200 User record
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a user

  • Method: PUT
  • Path: /user/{userId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

Request Body

Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}

Responses

Status: 200 User updated values
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a user

  • Method: DELETE
  • Path: /user/{userId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Search users

  • Method: GET
  • Path: /user
  • Tags: Users

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 User records list
Content-Type: application/json

Array of:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "labels": [
      1
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Bulk update users

  • Method: PUT
  • Path: /user
  • Tags: Users

Request Body

Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}

Responses

Status: 200 User updated records
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a user

  • Method: POST
  • Path: /user
  • Tags: Users

Request Body

Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}

Responses

Status: 201 User record created
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a user by remote ID

  • Method: GET
  • Path: /user/remote/{remoteId}/{remoteApplication}
  • Tags: Users

Retrieves a user by its external remote ID and application name, using the integration_pair mapping table. Returns 404 if no mapping exists.

Parameters

remoteId required
  • In: path

Remote ID of record to be synchronized

string

remoteApplication required
  • In: path

Name of remote application

string

Responses

Status: 200 User record
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Upsert record by remote ID (create or update)

  • Method: POST
  • Path: /user/remote/{remoteId}/{remoteApplication}
  • Tags: Users

Upsert by remote ID: updates the existing user if a mapping is found (200), otherwise creates a new one and stores the mapping (201).

Parameters

remoteId required
  • In: path

Remote ID of record to be synchronized

string

remoteApplication required
  • In: path

Name of remote application

string

Request Body

Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}

Responses

Status: 200 Record found & updated
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 201 Record created
Content-Type: application/json
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a user invitation by ID

  • Method: GET
  • Path: /user/invitation/{invitationId}
  • Tags: Users

Parameters

invitationId required
  • In: path

ID of Invitation

integer

Responses

Status: 200 Get one One record
Content-Type: application/json
  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

{
  "id": 42,
  "email": "user@example.com",
  "role": "user",
  "hash": "string",
  "created": "2026-01-15T09:30:00Z",
  "accepted": 1,
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Revoke a user invitation

  • Method: DELETE
  • Path: /user/invitation/{invitationId}
  • Tags: Users

Parameters

invitationId required
  • In: path

ID of Invitation

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a user invitation by its hash token

  • Method: GET
  • Path: /user/invitation/hash
  • Tags: Users

Public endpoint — retrieves invitation details by hash token without authentication, allowing an invitee to view the invitation before accepting. Returns 404 if already accepted.

Parameters

hash required
  • In: query

Invitation hash

string

Responses

Status: 200 Invitation object
Content-Type: application/json
  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

{
  "id": 42,
  "email": "user@example.com",
  "role": "user",
  "hash": "string",
  "created": "2026-01-15T09:30:00Z",
  "accepted": 1,
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List user invitations

  • Method: GET
  • Path: /user/invitation
  • Tags: Users

Parameters

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get List of records
Content-Type: application/json

Array of:

  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

[
  {
    "id": 42,
    "email": "user@example.com",
    "role": "user",
    "hash": "string",
    "created": "2026-01-15T09:30:00Z",
    "accepted": 1,
    "teams": [
      1
    ],
    "categories": [
      1
    ]
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Send a user invitation

  • Method: POST
  • Path: /user/invitation
  • Tags: Users

Sends an email invitation to join the system. Requires role (admin, user, supervisor, guest, or client) and optional team/category assignments. Generates a unique registration link valid until accepted or revoked.

Request Body

Content-Type: application/json
  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

{
  "id": 42,
  "email": "user@example.com",
  "role": "user",
  "hash": "string",
  "created": "2026-01-15T09:30:00Z",
  "accepted": 1,
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}

Responses

Status: 201 Create record
Content-Type: application/json
  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

{
  "id": 42,
  "email": "user@example.com",
  "role": "user",
  "hash": "string",
  "created": "2026-01-15T09:30:00Z",
  "accepted": 1,
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get a user pay rate by ID

  • Method: GET
  • Path: /user/{userId}/rate/{rateId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

rateId required
  • In: path

ID of rate

integer

Responses

Status: 200 Get one record
Content-Type: application/json
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Update a user pay rate

  • Method: PUT
  • Path: /user/{userId}/rate/{rateId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

rateId required
  • In: path

ID of rate

integer

Request Body

Content-Type: application/json
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}

Responses

Status: 200 Updated record
Content-Type: application/json
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Delete a user pay rate

  • Method: DELETE
  • Path: /user/{userId}/rate/{rateId}
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

rateId required
  • In: path

ID of rate

integer

Responses

Status: 200 Record succesfully deleted
Content-Type: application/json
  • id

    integer — Id of deleted record

  • remotes

    array — Remote ids

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

Example:

{
  "id": 1,
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ]
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

List user pay rates

  • Method: GET
  • Path: /user/{userId}/rate
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Get List of records
Content-Type: application/json

Array of:

  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "caption": "string",
    "rate": 1,
    "validUntil": "2026-01-15T09:30:00Z"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Create a user pay rate

  • Method: POST
  • Path: /user/{userId}/rate
  • Tags: Users

Parameters

userId required
  • In: path

ID of user

integer

Request Body

Content-Type: application/json
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}

Responses

Status: 201 Created record
Content-Type: application/json
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Get ValueMetrics list

  • Method: GET
  • Path: /value-metric
  • Tags: Value Metrics

Lists metric records, optionally filtered by year and month query parameters for use in dashboard charts and time-series widgets.

Parameters

year
  • In: query

Year for which data to select

string

month
  • In: query

Month for which data to select

string

filter
  • In: query

Filter expression to narrow results. Format: field operator value. Multiple conditions are joined with ; or & (AND) or | (OR). Conditions can be grouped with parentheses. Supported operators: = (equals; also matches NULL when value is empty), != (not equals), >, >=, <, <=, ~ (LIKE, use % as wildcard; empty value matches NULL/empty), !~ (NOT LIKE), ... (IN set, comma-separated: statusId...1,2,3). OR across values for one field: status=(active|pending). Examples: filter=name=Acme, filter=created>=2024-01-01;assigneeId=, filter=name~%smith%;statusId...1,2,3, filter=(status=active|status=pending)&spaceId=5.

string

offset
  • In: query

Zero-based index of the first record to return. Use together with limit for pagination. Example: offset=20&limit=10 returns records 21–30.

integer

limit
  • In: query

Maximum number of records to return. Use together with offset for pagination.

integer

order
  • In: query

Sort order for results. Comma-separated list of field;DIRECTION pairs. Direction is ASC or DESC (default DESC when omitted). Example: order=name;ASC or order=id;ASC,name;DESC.

string

Responses

Status: 200 Value metrics records list
Content-Type: application/json

Array of:

  • makeScenarioId (required)

    integer — ID of the Make (Integrator) scenario that triggers this metric increment

  • value (required)

    number, format: float — The numeric amount to add to the metric each time this module runs; can be a fixed number or dynamically sourced from other modules. Stored as decimal(20,6).

  • aiTokensLog

    boolean — When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • label

    string — The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’).

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

[
  {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "createdUserId": 42,
    "updated": "2026-01-15T09:30:00Z",
    "updatedUserId": 42,
    "makeScenarioId": 42,
    "value": 1.5,
    "aiTokensLog": true,
    "label": "string"
  }
]
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Track ValueMetric

  • Method: POST
  • Path: /value-metric
  • Tags: Value Metrics

Records a metric value for the given Make scenario. If a record for the same makeScenarioId already exists for the current date, the value is added to the existing record rather than creating a new one.

Request Body

Content-Type: application/json
  • makeScenarioId (required)

    integer — ID of the Make (Integrator) scenario that triggers this metric increment

  • value (required)

    number, format: float — The numeric amount to add to the metric each time this module runs; can be a fixed number or dynamically sourced from other modules. Stored as decimal(20,6).

  • aiTokensLog

    boolean — When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • label

    string — The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’).

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "makeScenarioId": 42,
  "value": 1.5,
  "aiTokensLog": true,
  "label": "string"
}

Responses

Status: 201 ValueMetrics - Created record
Content-Type: application/json
  • makeScenarioId (required)

    integer — ID of the Make (Integrator) scenario that triggers this metric increment

  • value (required)

    number, format: float — The numeric amount to add to the metric each time this module runs; can be a fixed number or dynamically sourced from other modules. Stored as decimal(20,6).

  • aiTokensLog

    boolean — When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • label

    string — The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’).

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "makeScenarioId": 42,
  "value": 1.5,
  "aiTokensLog": true,
  "label": "string"
}
Status: 400 Bad request — the input payload is invalid, missing required fields, or fails validation.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 401 Unauthorized — no valid authentication token was provided, or the token has expired. Authenticate by passing a valid Bearer token in the `Authorization` header.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 403 Forbidden — the authenticated user does not have permission to perform this action. Common causes: missing space membership, insufficient role (e.g. Member trying a Manager-only action), or accessing a record in a space the user cannot view.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 404 Not found — the requested resource does not exist or is not accessible to the caller. Common causes: invalid ID, record deleted, or record belongs to a different space.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}
Status: 500 Internal server error — an unexpected error occurred. This is not caused by the caller.
Content-Type: application/json
  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Schemas

All modules in system (dash syntax)

  • Type:string

Module name in kebab-case (dash-separated) format, used in URL path parameters. Open set (built-ins plus custom modules); not restricted to an enum.

Example:

Array of multiple ColumnDataTransform objects

  • Type:array

Example:

ColumnDataTransform entity

  • Type:object
  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls how expressive and varied the AI output language is; high allows more creative responses.

  • aiVoiceTone

    string, possible values: "auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude in which the generated content is delivered.

  • columnKey

    string — Identifier of the custom field column this transform is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this transform is bound to.

  • enabled

    boolean — Whether this column data transform is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being transformed.

  • prompt

    string — User-defined instruction sent to the AI to guide how the column value should be transformed.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the transformation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

  • type

    string, possible values: "auto", "manual" — Specifies whether the AI transformation runs automatically on record change (auto) or only when triggered manually.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "prompt": "string",
  "enabled": true,
  "provider": "platform",
  "aiVoiceTone": "auto",
  "aiCreativity": "high",
  "customInputId": 42,
  "type": "auto"
}

Array of multiple ColumnDataValidation objects

  • Type:array

Example:

ColumnDataValidation entity

  • Type:object
  • columnKey

    string — Identifier of the custom field column this validation rule is applied to.

  • customInputId

    integer — ID of the custom field input (Field) this validation rule is bound to.

  • enabled

    boolean — Whether this column data validation rule is active and will be applied during processing.

  • id

    integer — Unique identifier - primary key

  • includeEmptyFields

    boolean — When true, records with an empty value in the target column are also submitted for validation.

  • module

    string — System name of the module (e.g. contact, deal) that owns the column being validated.

  • prompt

    string — User-defined instruction sent to the AI describing how the column value should be validated.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI backend used for the validation: platform = Boost.space built-in AI, websearch = web-augmented AI, custom = user-configured provider.

Example:

{
  "id": 42,
  "columnKey": "string",
  "module": "string",
  "provider": "platform",
  "prompt": "string",
  "enabled": true,
  "includeEmptyFields": true,
  "customInputId": 42
}

Array of multiple ColumnDataValidationResult objects

  • Type:array

Example:

ColumnDataValidationResult entity

  • Type:object
  • aiColumnDataValidationId

    integer — ID of the ColumnDataValidation configuration that produced this result.

  • entityId

    string — ID of the record (entity) whose field was validated.

  • id

    integer — Unique identifier - primary key

  • result

    string — AI-generated validation outcome text for the evaluated record field.

Example:

{
  "id": 42,
  "result": "string",
  "aiColumnDataValidationId": 42,
  "entityId": "string"
}

Array of multiple OAuth2Client objects

  • Type:array

Example:

OAuth2Client

  • Type:object
  • clientId

    string — Publicly known OAuth2 client identifier used in authorization and token requests

  • clientName

    string — Human-readable display name of the OAuth2 application

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • redirectUris

    array — Permitted redirect URIs that the authorization server will send the auth code to

    Items:

    string

  • scopes

    array — OAuth2 scopes this client is authorized to request

    Items:

    string

  • tokenId

    integer — ID of the MCP API token linked to this OAuth2 client for machine-to-machine access

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "clientId": "string",
  "clientName": "Sample clientName",
  "redirectUris": [
    "https://acme.boost.space"
  ],
  "scopes": [
    "string"
  ],
  "tokenId": 42
}

Array of multiple Token objects

  • Type:array

Example:

Token

  • Type:object
  • allowedIps

    array — Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestricted

    Items:

    string

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • description

    string — Human-readable description of the token's purpose

  • id

    integer — Unique identifier - primary key

  • mcp

    boolean — When true, this token is an MCP (Model Context Protocol) token for AI integrations

  • permissions

    array — Per-module CRUD permissions granted to this token

    Items:

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • create

      boolean — Whether the token may create records in this module

    • created

      string — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • delete

      boolean — Whether the token may delete records in this module

    • id

      integer — Unique identifier - primary key

    • module

      string — Module whose resources this permission controls

    • read

      boolean — Whether the token may read records in this module

    • tokenId

      integer — ID of the token this permission entry belongs to

    • update

      boolean — Whether the token may update records in this module

  • priority

    integer — Default conflict-resolution priority across tokens; lower value takes precedence

  • token

    string — Bearer token value used in the Authorization header

  • userId

    integer — ID of the user this token authenticates on behalf of

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "userId": 42,
  "token": "string",
  "description": "string",
  "priority": 1,
  "boostId": "string",
  "permissions": [
    {
      "id": 42,
      "created": "string",
      "createdUserId": 42,
      "tokenId": 42,
      "module": "activities",
      "create": true,
      "read": true,
      "update": true,
      "delete": true,
      "boostId": "string"
    }
  ],
  "allowedIps": [
    "string"
  ],
  "mcp": true
}

Token Permission

  • Type:object
  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • create

    boolean — Whether the token may create records in this module

  • created

    string — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • delete

    boolean — Whether the token may delete records in this module

  • id

    integer — Unique identifier - primary key

  • module

    string — Module whose resources this permission controls

  • read

    boolean — Whether the token may read records in this module

  • tokenId

    integer — ID of the token this permission entry belongs to

  • update

    boolean — Whether the token may update records in this module

Example:

{
  "id": 42,
  "created": "string",
  "createdUserId": 42,
  "tokenId": 42,
  "module": "activities",
  "create": true,
  "read": true,
  "update": true,
  "delete": true,
  "boostId": "string"
}

Array of multiple Category objects

  • Type:array

Example:

Category

  • Type:object
  • color

    string — Display color for this category in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • default

    boolean — 1 if this is the default category assigned to new users, 0 otherwise

  • fileId

    integer — ID of the file used as the category avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the category avatar image

  • name

    string — Display name of the category

  • resources

    array — IDs of resources assigned to this category

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this category

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who belong to this category

    Items:

    integer

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "name": "Sample name",
  "default": true,
  "color": "#1f6feb",
  "fileId": 42,
  "statusSystemId": 42,
  "users": [
    1
  ],
  "resources": [
    1
  ],
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "image_url": "https://acme.boost.space"
}

Remote id

  • Type:object
  • id (required)

    string — Remote ID

  • application

    string — Remote Application

  • delete

    boolean — Delete Remote ID

Example:

{
  "id": "1",
  "application": "string",
  "delete": true
}

Error

  • Type:object

Standard Boost.space error body returned by all 4xx/5xx responses.

  • code

    integer — Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error).

  • message

    string — Human-readable description of the error, e.g. `Missing required field: name` or `Object not found: Contact 123`.

Example:

{
  "code": 1,
  "message": "string"
}

Array of multiple Module objects

  • Type:array

Example:

Module

  • Type:object
  • color (required)

    string — Accent color for the module displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • iconName (required)

    string — FontAwesome icon name (e.g. 'database', 'user').

  • iconPrefix (required)

    string — FontAwesome icon style prefix (e.g. 'fas', 'far', 'fab').

  • name (required)

    string — Display name of the module, unique within a space.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user that created this module

  • description

    string | null — More detailed description of the module

  • id

    integer — Unique identifier - primary key

  • isDemo

    boolean — Whether this module is a demo module

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "iconName": "Sample iconName",
  "iconPrefix": "string",
  "name": "Sample name",
  "description": "string",
  "color": "#1f6feb",
  "boostId": "string",
  "isDemo": true
}

Array of multiple Record objects

  • Type:array

Example:

Record

  • Type:object
  • spaceId (required)

    integer — ID of the space this record belongs to.

  • statusSystemId (required)

    integer — ID of the system-level status (pipeline stage) this record belongs to; must be valid for the module.

  • boostId

    string — Globally unique cross-system identifier for this record (used for integrations and deduplication).

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values for all custom fields defined in the module, keyed by field definition.

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • featuredImageId

    integer — ID of the File used as the default image for this record.

  • files

    array — IDs of files attached to this record.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • labels

    array — IDs of labels assigned to this record.

    Items:

    integer

  • statusId

    integer — ID of the user-defined sub-status within the system status.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "statusSystemId": 42,
  "statusId": 42,
  "spaceId": 42,
  "featuredImageId": 42,
  "files": [
    1
  ],
  "labels": [
    1
  ],
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ]
}

Array of multiple FieldGroup objects

  • Type:array

Example:

FieldGroup entity

  • Type:object
  • fieldGroupPositionId (required)

    integer — Positional slot ID that determines where the group appears within the entity layout.

  • module (required)

    string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

  • entityId

    integer — Related entity id

  • position

    string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

  • spaceId

    integer — ID of the space this field group attachment is scoped to.

Example:

{
  "entityId": 42,
  "module": "string",
  "spaceId": 42,
  "fieldGroupPositionId": 42,
  "position": "string"
}

FieldGroup

  • Type:object
  • autoAttach

    boolean — When true, this field group is automatically attached to new records in the target module.

  • boostId

    string — Boost space internal record identification

  • created

    string, format: date-time — Creation timestamp

  • derivedFrom

    integer — ID of group from which this group has been derived - only for protected field groups

  • entities

    array — Entity attachment records describing which records and positions this field group is rendered in.

    Items:

    • fieldGroupPositionId (required)

      integer — Positional slot ID that determines where the group appears within the entity layout.

    • module (required)

      string — Module name identifying the type of entity this field group is attached to (e.g. 'contact', 'custom-module-item').

    • entityId

      integer — Related entity id

    • position

      string — Field group position in this entity. Common values: tab, form, form-top, top-todolist, case-top, case-bottom, contract-top, contract-bottom; a value outside these falls back to the module default position (e.g. 'bottom', or 'tab' for stock items). Not an enum — any string may be returned.

    • spaceId

      integer — ID of the space this field group attachment is scoped to.

  • id

    integer — Unique identifier - primary key

  • inputs

    array — Ordered list of fields belonging to this field group.

    Items:

    • actionId

      integer — The action to fire after the button click.

    • aiCreativity

      string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

    • aiFormatting

      string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

    • aiLength

      string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

    • aiPrompt

      string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

    • aiType

      string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

    • aiVoiceTone

      string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

    • className

      string — Name of CSS class.

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • currencyId

      integer — ID of the currency used for the money input type.

    • description

      string — Description of input

    • fieldGroups

      array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

      Items:

      integer

    • id

      integer — Unique identifier - primary key

    • inputCalculation

      string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

    • inputOptions

      array — In case of select or multiselect, set of options

      Items:

      • color

        string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • customFieldInputId

        integer — ID of parent field

      • id

        integer — Unique identifier - primary key

      • label

        string — Label of this option

      • value

        string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

    • inputType

      string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

    • isLabel

      string — If true input is used as a label

    • name

      string — Name of the Input.

    • order=0

      integer — Display order of this field within its field group; lower values appear first.

    • percentUpTo100

      boolean — If true percent can be only 0 to 100.

    • property

      string — It is used for the field type related_value. It describes which entity property should be load.

    • provider

      string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

    • providerId

      integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

    • relatedCustomModuleId

      integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

    • relatedEntityCfId

      string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

    • relatedEntityProperty

      string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

    • relatedValueCounterpart

      boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

    • remotes

      array — IDs of remote integrations linked to this field.

      Items:

      • id (required)

        string — Remote ID

      • application

        string — Remote Application

      • delete

        boolean — Delete Remote ID

    • required

      boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

    • rollupAggregation

      string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

    • rollupRelationInputId

      integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

    • rollupTargetInputId

      integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

    • spaces

      array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

      Items:

      integer

    • tooltip

      string — Content of tooltip.

    • translatable

      boolean — Is field translatable

    • visible

      boolean — Whether the field is visible (true = visible, false = hidden).

  • inputSize

    string — Default layout width applied to each field inside this group (e.g. 'full', 'half').

  • module

    string — Module name this field group belongs to (e.g. 'contact', 'deal').

  • name

    string — Name of the Field Group.

  • protected

    boolean — Marks field group as system default - non-changeable

  • size

    string — Layout width of the field group in the UI (e.g. 'full', 'half').

  • static

    string — Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields.

  • systemName

    string — Group system name - if set (non-changeable) - only for protected field groups

  • table

    string — Specific table within the module this field group targets; used when a module has multiple tables.

  • weight

    integer — Ordering index controlling the display sequence of field groups; lower values appear first.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "name": "Sample name",
  "module": "string",
  "table": "string",
  "size": "string",
  "weight": 1,
  "inputSize": "string",
  "static": "string",
  "systemName": "Sample systemName",
  "derivedFrom": 1,
  "boostId": "string",
  "protected": true,
  "inputs": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "name": "Sample name",
      "description": "string",
      "tooltip": "string",
      "percentUpTo100": true,
      "isLabel": "string",
      "className": "Sample className",
      "relatedEntityCfId": "string",
      "relatedValueCounterpart": true,
      "property": "string",
      "inputType": "related_entity",
      "required": true,
      "order=0": 1,
      "fieldGroups": [
        1
      ],
      "actionId": 42,
      "currencyId": 42,
      "inputOptions": [
        {}
      ],
      "remotes": [
        {
          "id": "1",
          "application": "string",
          "delete": true
        }
      ],
      "spaces": [
        1
      ],
      "inputCalculation": "string",
      "relatedCustomModuleId": 42,
      "relatedEntityProperty": "string",
      "provider": "platform",
      "providerId": 42,
      "visible": true,
      "rollupRelationInputId": 42,
      "rollupTargetInputId": 42,
      "rollupAggregation": "showOriginal",
      "aiPrompt": "string",
      "aiVoiceTone": "auto",
      "aiLength": "auto",
      "aiFormatting": "text",
      "aiCreativity": "high",
      "aiType": "auto",
      "translatable": true
    }
  ],
  "entities": [
    {
      "entityId": 42,
      "module": "string",
      "spaceId": 42,
      "fieldGroupPositionId": 42,
      "position": "string"
    }
  ],
  "autoAttach": true
}

Array of multiple Field objects

  • Type:array

Example:

Field

  • Type:object
  • actionId

    integer — The action to fire after the button click.

  • aiCreativity

    string, possible values: "high", "medium", "low" — Controls the expressiveness of the language in the content. Only works if type=ai

  • aiFormatting

    string, possible values: "text", "formatted_text", "bullets", "numbered_list" — Refers to the structural and visual organization of the content. Only works if type=ai

  • aiLength

    string, possible values: "auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs" — Specifies the desired extent of the content. Only works if type=ai

  • aiPrompt

    string — The Prompt field is a text parameter used to define the specific input for generating responses or actions in OpenAI's models. Only works if type=ai

  • aiType

    string, possible values: "auto", "manual" — Specifies whether the AI field should be controlled automatically or manually.

  • aiVoiceTone

    string, possible values: "auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational" — Determines the style and attitude of AI response. Only works if type=ai

  • className

    string — Name of CSS class.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • currencyId

    integer — ID of the currency used for the money input type.

  • description

    string — Description of input

  • fieldGroups

    array — IDs of the FieldGroup's this field belongs to, controlling where it is rendered.

    Items:

    integer

  • id

    integer — Unique identifier - primary key

  • inputCalculation

    string — Formula used to compute the field value. The value is evaluated at read time and is not stored; the resulting FieldValue is read-only. Syntax: reference other fields of the same record with FIELD("Field Name"), where the argument is the field's name (customFieldInputName) for custom fields, or the property name of a core column (e.g. FIELD("id"), FIELD("created")). String literals are written in double quotes ("text"), numbers as plain literals (42, 3.14), booleans as true/false. Operators: arithmetic + - * / % ^, comparison == != > < >= <=, logical && || !, parentheses for grouping. Functions are called as name(arg1, arg2, ...) and their names are case-insensitive. Available functions — arithmetic: sum, subtract, multiply, divide, mod, power, sqrt, abs, round, roundUp, roundDown, ceil, floor, average, max, min, count, countAll; logic: if, switch, and, or, not, xor, equals, greaterThan, lessThan, isEmpty, isNotEmpty, isError; text: concat, length, lower, upper, trim, contains, startsWith, endsWith, replace, substring, left, right, split, indexOf, regexMatch, regexExtract, regexReplace, format; date: now, today, dateAdd, dateSubtract, dateDiff, formatDate, year, month, day, weekday, isAfter, isBefore, workdays; array: arrayJoin, arrayUnique, arrayLength; conversion: toNumber, toString, toBoolean, toDate; record: field, recordId, createdAt, updatedAt, createdByUserId, createdByUserName. Example: if(FIELD("Deal Value") > 1000, concat("VIP: ", FIELD("Company")), "Standard"). Use POST /validate-calculation-function to check a formula before saving. Only works if type=calculation

  • inputOptions

    array — In case of select or multiselect, set of options

    Items:

    • color

      string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldInputId

      integer — ID of parent field

    • id

      integer — Unique identifier - primary key

    • label

      string — Label of this option

    • value

      string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

  • inputType

    string, possible values: "related_entity", "related_entities", "related_value", "image", "money", "rating", "percent", "text", "number", "float", "select", "multiselect", "datetime", "file", "wysiwyg", "checkbox", "checkbox_group", "radio", "hidden", "firstname", "lastname", "email", "phone", "address", "gdpr_accept", "cookies_accept", "newsletter_accept", "address_city", "address_post_code", "address_country", "calculation", "rollup", "date", "url", "ai", "button", "users" — Type of input

  • isLabel

    string — If true input is used as a label

  • name

    string — Name of the Input.

  • order=0

    integer — Display order of this field within its field group; lower values appear first.

  • percentUpTo100

    boolean — If true percent can be only 0 to 100.

  • property

    string — It is used for the field type related_value. It describes which entity property should be load.

  • provider

    string, possible values: "platform", "websearch", "custom" — AI provider used to generate the field value. Only works if type=ai

  • providerId

    integer — ID of the provider configuration; used when provider=custom. Only works if type=ai

  • relatedCustomModuleId

    integer — ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module.

  • relatedEntityCfId

    string — This is the link for the field type related_value, linking to a related_entity field. The related_value field uses this link to load a module and entity ID.

  • relatedEntityProperty

    string — Name of the related entity's property to load, used when the source is an entity property rather than a custom field.

  • relatedValueCounterpart

    boolean — This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to.

  • remotes

    array — IDs of remote integrations linked to this field.

    Items:

    • id (required)

      string — Remote ID

    • application

      string — Remote Application

    • delete

      boolean — Delete Remote ID

  • required

    boolean — Whether filling out this field is required when submitting the form (true = required, false = optional).

  • rollupAggregation

    string, possible values: "showOriginal", "showUnique", "countAll", "countValues", "countUniqueValues", "countEmpty", "countNotEmpty", "percentEmpty", "percentNotEmpty", "sum", "average", "median", "min", "max", "range", "earliestDate", "latestDate", "dateRange", "checked", "unchecked", "percentChecked", "percentUnchecked" — Aggregation function applied to the target field values of the linked records; the rollup's return type is derived from this aggregation and the target field's data type. Required for the rollup to compute. Only works if type=rollup

  • rollupRelationInputId

    integer — ID of the relation field the rollup follows to reach the linked records; must be a field of inputType related_entity or related_entities. Required for the rollup to compute. Only works if type=rollup

  • rollupTargetInputId

    integer — ID of the custom field on the linked records whose values get aggregated; must not be a rollup or calculation field. Required for the rollup to compute. Only works if type=rollup

  • spaces

    array — IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.

    Items:

    integer

  • tooltip

    string — Content of tooltip.

  • translatable

    boolean — Is field translatable

  • visible

    boolean — Whether the field is visible (true = visible, false = hidden).

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "tooltip": "string",
  "percentUpTo100": true,
  "isLabel": "string",
  "className": "Sample className",
  "relatedEntityCfId": "string",
  "relatedValueCounterpart": true,
  "property": "string",
  "inputType": "related_entity",
  "required": true,
  "order=0": 1,
  "fieldGroups": [
    1
  ],
  "actionId": 42,
  "currencyId": 42,
  "inputOptions": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "customFieldInputId": 42,
      "label": "string",
      "value": "string",
      "color": "#1f6feb"
    }
  ],
  "remotes": [
    {
      "id": "1",
      "application": "string",
      "delete": true
    }
  ],
  "spaces": [
    1
  ],
  "inputCalculation": "string",
  "relatedCustomModuleId": 42,
  "relatedEntityProperty": "string",
  "provider": "platform",
  "providerId": 42,
  "visible": true,
  "rollupRelationInputId": 42,
  "rollupTargetInputId": 42,
  "rollupAggregation": "showOriginal",
  "aiPrompt": "string",
  "aiVoiceTone": "auto",
  "aiLength": "auto",
  "aiFormatting": "text",
  "aiCreativity": "high",
  "aiType": "auto",
  "translatable": true
}

FieldOption

  • Type:object
  • color

    string — Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733').

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldInputId

    integer — ID of parent field

  • id

    integer — Unique identifier - primary key

  • label

    string — Label of this option

  • value

    string — Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "customFieldInputId": 42,
  "label": "string",
  "value": "string",
  "color": "#1f6feb"
}

FieldValue

  • Type:object

A single custom field value attached to a record. The field is identified either by customFieldInputId, or by customFieldInputName + module. Values of computed fields (inputType calculation and rollup) are read-only: a calculation value is evaluated at read time from the field's inputCalculation formula and never stored, a rollup value is recomputed automatically from related records; writes to either are ignored.

  • value (required)

    string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

  • created

    string, format: date-time — Creation datetime

  • customFieldInputId

    integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

  • customFieldInputName

    string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

  • entityId

    integer — ID of the record (within the given module) that this value is attached to.

  • fileId

    integer — ID of the uploaded file; used when the field inputType is 'file'.

  • id

    integer — Unique identifier of this field value record.

  • ipAddress

    string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

  • module

    string — Module this field value belongs to

  • selected

    boolean — TRUE if this value is selected (used for checkboxes and radio sets)

  • table

    string — Module table (if module has more tables). If not filled, is loaded automatically

  • translatable

    boolean — Is field translatable

  • translations

    object

  • valueDatetime

    string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

  • valueFloat

    number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

  • valueInt

    integer — Input value, stored as Integer (inner db representation of INT value

  • valueModule

    string — Module of connected entity. It's only for values from connected-value fields.

  • valueWysiwyg

    string — Input value, stored as Wysiwig (inner db representation of TEXT value)

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "valueWysiwyg": "string",
  "valueInt": 1,
  "valueFloat": 1.5,
  "valueDatetime": "2026-01-15T09:30:00Z",
  "valueModule": "string",
  "value": "string",
  "fileId": 42,
  "customFieldInputId": 42,
  "module": "activities",
  "table": "string",
  "entityId": 42,
  "customFieldInputName": "Sample customFieldInputName",
  "selected": true,
  "ipAddress": "string",
  "translatable": true,
  "translations": {
    "en": {
      "field1": "translation1",
      "field2": "translation2"
    },
    "it": {
      "field1": "translation1",
      "field2": "translation2"
    },
    "cs": {
      "field1": "translation1",
      "field2": "translation2"
    }
  }
}

Array of multiple File objects

  • Type:array

Example:

Array of multiple FileUsage objects

  • Type:array

Example:

File resize information

  • Type:object
  • created

    string, format: date-time — Creation timestamp

  • id

    integer — Unique identifier - primary key

  • path

    string — Full file-path

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "path": "string"
}

File usage information

  • Type:object
  • name

    integer — ID of record in which this file is used for given module name

Example:

{
  "name": 1
}

File

  • Type:object
  • statusSystemId (required)

    integer — ID of the system status that determines the file lifecycle stage

  • boostId

    string — Globally unique boost.space identifier for this record (UUID-like)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Values of space-specific custom fields attached to this file

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customType

    integer — ID of the custom type classification applied to this file

  • fileName

    string — Internal filename as stored on disk (may differ from the original upload name)

  • filesize

    string — Human-readable file size string (e.g. '4 kB')

  • id

    integer — Unique identifier - primary key

  • isFeaturedImage

    boolean — When true, this image is used as the featured/cover image for the parent record

  • labels

    array — Labels attached to this file

    Items:

    Array of:

    • color (required)

      string — Color of this label

    • name (required)

      string — Name of this label

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • editable

      boolean — Determines if label can be edited by currently logged user

    • id

      integer — Unique identifier - primary key

    • module

      string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

    • spaces

      object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

    • type

      string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

  • name

    string — Original file name (human-readable)

  • path

    string — Relative storage path where the file is persisted on the server or remote storage

  • publicUrl

    string — Publicly accessible URL for reading the file without authentication

  • resize

    array

    Items:

    • created

      string, format: date-time — Creation timestamp

    • id

      integer — Unique identifier - primary key

    • path

      string — Full file-path

  • status

    object — Full Status object for the user-defined status applied to this file

    • icon (required)

      string — Status icon

    • icon_prefix (required)

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • name (required)

      string — Status name

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status color

    • created

      string, format: date-time — Creation timestamp

    • created_user_id

      integer — ID of the user who created this status

    • id

      integer — Unique identifier - primary key

    • spaces

      array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

      Items:

      integer

    • status_system_id

      integer — ID of the StatusSystem this status belongs to

    • statusSystem

      object — StatusSystem object

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • weight

      integer — Display order position; lower values appear first

  • statusId

    integer — ID of the user-defined status applied to this file

  • statusSystem

    object — Full StatusSystem object for the system lifecycle status applied to this file

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • storage

    integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

  • type

    string — MIME type of the file (e.g. image/png, application/pdf)

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

  • usage

    array — List of records across modules that reference this file

    Items:

    Array of:

    • name

      integer — ID of record in which this file is used for given module name

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "statusId": 42,
  "statusSystemId": 42,
  "path": "string",
  "fileName": "Sample fileName",
  "name": "Sample name",
  "type": "string",
  "customType": 1,
  "storage": 1,
  "filesize": "string",
  "boostId": "string",
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "publicUrl": "https://acme.boost.space",
  "resize": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "path": "string"
    }
  ],
  "status": {
    "id": 42,
    "created": "2026-01-15T09:30:00Z",
    "created_user_id": 42,
    "name": "Sample name",
    "color": "#1f6feb",
    "icon": "string",
    "icon_prefix": "string",
    "weight": 1,
    "status_system_id": 42,
    "boostId": "string",
    "spaces": [
      1
    ],
    "statusSystem": {
      "id": 42,
      "color": "#1f6feb",
      "icon_prefix": "string",
      "icon": "string",
      "module": "string",
      "weight": 1,
      "name": "Sample name",
      "system_name": "Sample system_name",
      "activated": 1,
      "custom": true,
      "allow_move": "string",
      "boostId": "string"
    }
  },
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "labels": [
    [
      {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "createdUserId": 42,
        "updated": "2026-01-15T09:30:00Z",
        "updatedUserId": 42,
        "spaces": {
          "12": [
            "contact",
            "todo"
          ],
          "34": []
        },
        "name": "Sample name",
        "color": "#1f6feb",
        "type": "string",
        "module": "string",
        "editable": true
      }
    ]
  ],
  "isFeaturedImage": true,
  "usage": [
    [
      {
        "name": 1
      }
    ]
  ]
}

Array of multiple Label objects

  • Type:array

Example:

Label

  • Type:object
  • color (required)

    string — Color of this label

  • name (required)

    string — Name of this label

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • editable

    boolean — Determines if label can be edited by currently logged user

  • id

    integer — Unique identifier - primary key

  • module

    string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

  • spaces

    object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

  • type

    string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "spaces": {
    "12": [
      "contact",
      "todo"
    ],
    "34": []
  },
  "name": "Sample name",
  "color": "#1f6feb",
  "type": "string",
  "module": "string",
  "editable": true
}

Array of multiple Menu objects

  • Type:array

Example:

  • Type:object
  • name (required)

    string — Display name of the menu item

  • spaceId (required)

    integer — ID of the space this menu item belongs to

  • categories

    array — IDs of categories allowed to see this menu item

    Items:

    integer

  • color

    string — Display color for the menu item in hex format (e.g. #FF5733)

  • content

    string — Link URL or custom content (for type 'link')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • customModuleId

    integer — ID of the custom module the menu item is bound to

  • display

    boolean — True if the menu item should be displayed, false otherwise

  • entityId

    integer — ID of the entity the menu item points to

  • icon

    string — Icon identifier for the menu item

  • id

    integer — Unique identifier - primary key

  • modified

    string, format: date-time — Timestamp of the last modification of the menu item

  • module

    string — System name of the module the item links to (for type 'module')

  • order

    integer — Sort order of the menu item within its level

  • parentId

    integer | null — ID of the parent menu item; null for top-level items

  • target

    string — Link target (e.g. _blank, _self)

  • teams

    array — IDs of teams allowed to see this menu item

    Items:

    integer

  • type

    string, possible values: "module", "link", "folder", "custom-module" — Type of the menu item

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users allowed to see this menu item

    Items:

    integer

  • view

    string — View/action within the target module

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "modified": "2026-01-15T09:30:00Z",
  "entityId": 42,
  "parentId": 42,
  "customModuleId": 42,
  "spaceId": 42,
  "type": "module",
  "module": "string",
  "view": "string",
  "content": "string",
  "target": "string",
  "order": 1,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "display": true,
  "users": [
    1
  ],
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}

Array of multiple Space objects

  • Type:array

Example:

Role matrix

  • Type:object
  • manager

    array — MANAGER IDs

    Items:

    integer

  • member

    array — MEMBER IDs

    Items:

    integer

  • owner

    array — OWNER IDs

    Items:

    integer

Example:

{
  "owner": [
    1
  ],
  "manager": [
    1
  ],
  "member": [
    1
  ]
}

Space

  • Type:object
  • accountingUnit

    string — Accounting unit (module setting field, shown only on space type contact or business process)

  • assigned_categories

    array — IDs of categories assigned to this space

    Items:

    integer

  • assigned_teams

    array — IDs of teams assigned to this space

    Items:

    integer

  • assigned_users

    array — IDs of users directly assigned to this space

    Items:

    integer

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • businessCaseAddButtonOptions

    array — Configures places where to display button Add business case (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessCaseMask

    string — Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process )

  • businessContractAddButtonOptions

    array — Configures places where to display button Add business contract (module setting field, shown only on space module business-process )

    Items:

    string, possible values: "offer", "order", "reservation"

  • businessContractMask

    string — Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process )

  • businessOfferMask

    string — Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process )

  • businessOrderMask

    string — Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process )

  • categories

    object — Matrix of connected category ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • chatRooms

    array — Connected chat-room ids

    Items:

    integer

  • color

    string — Color in hex

  • controls

    array — UI control configuration entries for the todo module (module setting field, shown only on space module todo)

    Items:

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • customFieldsValues

    array — Custom fields

    Items:

    • value (required)

      string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

    • created

      string, format: date-time — Creation datetime

    • customFieldInputId

      integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

    • customFieldInputName

      string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

    • entityId

      integer — ID of the record (within the given module) that this value is attached to.

    • fileId

      integer — ID of the uploaded file; used when the field inputType is 'file'.

    • id

      integer — Unique identifier of this field value record.

    • ipAddress

      string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

    • module

      string — Module this field value belongs to

    • selected

      boolean — TRUE if this value is selected (used for checkboxes and radio sets)

    • table

      string — Module table (if module has more tables). If not filled, is loaded automatically

    • translatable

      boolean — Is field translatable

    • translations

      object

    • valueDatetime

      string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

    • valueFloat

      number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

    • valueInt

      integer — Input value, stored as Integer (inner db representation of INT value

    • valueModule

      string — Module of connected entity. It's only for values from connected-value fields.

    • valueWysiwyg

      string — Input value, stored as Wysiwig (inner db representation of TEXT value)

  • customModuleId

    integer — ID of the custom module definition associated with this space, if it was created as a custom module space

  • depth

    integer — Level of depth inside current tree (nested set model)

  • description

    string — More detailed description of space

  • editAllowSeconds

    integer — How many seconds can work reports of this space be edited, after their creation. Used for locking purposes. (module setting field, shown only on space type work )

  • estimated_time

    integer — Amount of minutes as an estimated time for this todo list

  • files

    array — List of attached files

    Items:

    • statusSystemId (required)

      integer — ID of the system status that determines the file lifecycle stage

    • boostId

      string — Globally unique boost.space identifier for this record (UUID-like)

    • created

      string, format: date-time — Creation timestamp

    • createdUserId

      integer — ID of user who created this record

    • customFieldsValues

      array — Values of space-specific custom fields attached to this file

      Items:

      • value (required)

        string — The field value as a string; the actual storage column (valueInt, valueFloat, valueDatetime, valueWysiwyg) used internally is determined by the field's inputType. For inputType `calculation` and `rollup` this value is computed by the system and read-only — see the schema description.

      • created

        string, format: date-time — Creation datetime

      • customFieldInputId

        integer — Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module`

      • customFieldInputName

        string — Name of field which gets filled. Applied only when `customFieldInputId` is not set

      • entityId

        integer — ID of the record (within the given module) that this value is attached to.

      • fileId

        integer — ID of the uploaded file; used when the field inputType is 'file'.

      • id

        integer — Unique identifier of this field value record.

      • ipAddress

        string — IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs.

      • module

        string — Module this field value belongs to

      • selected

        boolean — TRUE if this value is selected (used for checkboxes and radio sets)

      • table

        string — Module table (if module has more tables). If not filled, is loaded automatically

      • translatable

        boolean — Is field translatable

      • translations

        object

      • valueDatetime

        string, format: date-time — Input value, stored as Datetime (inner db representation of DATETIME value

      • valueFloat

        number, format: float — Input value, stored as Float (inner db representation of DOUBLE value

      • valueInt

        integer — Input value, stored as Integer (inner db representation of INT value

      • valueModule

        string — Module of connected entity. It's only for values from connected-value fields.

      • valueWysiwyg

        string — Input value, stored as Wysiwig (inner db representation of TEXT value)

    • customType

      integer — ID of the custom type classification applied to this file

    • fileName

      string — Internal filename as stored on disk (may differ from the original upload name)

    • filesize

      string — Human-readable file size string (e.g. '4 kB')

    • id

      integer — Unique identifier - primary key

    • isFeaturedImage

      boolean — When true, this image is used as the featured/cover image for the parent record

    • labels

      array — Labels attached to this file

      Items:

      Array of:

      • color (required)

        string — Color of this label

      • name (required)

        string — Name of this label

      • created

        string, format: date-time — Creation timestamp

      • createdUserId

        integer — ID of user who created this record

      • editable

        boolean — Determines if label can be edited by currently logged user

      • id

        integer — Unique identifier - primary key

      • module

        string — Name of the module this label can be attached to. When set, the label can only be attached to records of this module. Leave empty to allow any module (subject to per-space restrictions in `spaces`).

      • spaces

        object — Spaces this label is assigned to, and the optional per-space module restriction. Keys are space IDs; each value is an array of module names (in dash syntax) the label may be attached to within that space, or an empty array / null to allow all modules in that space. An empty `spaces` object makes the label global - visible to every space and every user.

      • type

        string, default: "SHARED" — Scope of this label. SHARED labels are visible to all users with access to the assigned spaces; a SHARED label with no spaces is global and visible to everyone.

      • updated

        string, format: date-time — Last updated timestamp

      • updatedUserId

        integer — ID of user who last updated this record

    • name

      string — Original file name (human-readable)

    • path

      string — Relative storage path where the file is persisted on the server or remote storage

    • publicUrl

      string — Publicly accessible URL for reading the file without authentication

    • resize

      array

      Items:

      • created

        string, format: date-time — Creation timestamp

      • id

        integer — Unique identifier - primary key

      • path

        string — Full file-path

    • status

      object — Full Status object for the user-defined status applied to this file

      • icon (required)

        string — Status icon

      • icon_prefix (required)

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • name (required)

        string — Status name

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status color

      • created

        string, format: date-time — Creation timestamp

      • created_user_id

        integer — ID of the user who created this status

      • id

        integer — Unique identifier - primary key

      • spaces

        array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

        Items:

        integer

      • status_system_id

        integer — ID of the StatusSystem this status belongs to

      • statusSystem

        object — StatusSystem object

        • activated

          integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

        • allow_move

          string — Serialized JSON rule set defining which status transitions are permitted within this status system

        • boostId

          string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

        • color

          string — Status system color

        • custom

          boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

        • icon

          string — Status system icon

        • icon_prefix

          string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

        • id

          integer — Unique identifier - primary key

        • module

          string — Module type this status system is associated with (e.g. contact, deal, todo)

        • name

          string — Status system name

        • system_name

          string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

        • weight

          integer — Display order position; lower values appear first

      • weight

        integer — Display order position; lower values appear first

    • statusId

      integer — ID of the user-defined status applied to this file

    • statusSystem

      object — Full StatusSystem object for the system lifecycle status applied to this file

      • activated

        integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

      • allow_move

        string — Serialized JSON rule set defining which status transitions are permitted within this status system

      • boostId

        string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

      • color

        string — Status system color

      • custom

        boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

      • icon

        string — Status system icon

      • icon_prefix

        string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

      • id

        integer — Unique identifier - primary key

      • module

        string — Module type this status system is associated with (e.g. contact, deal, todo)

      • name

        string — Status system name

      • system_name

        string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

      • weight

        integer — Display order position; lower values appear first

    • storage

      integer — Storage flag (0 = local disk, non-zero = remote/cloud storage)

    • type

      string — MIME type of the file (e.g. image/png, application/pdf)

    • updated

      string, format: date-time — Last updated timestamp

    • updatedUserId

      integer — ID of user who last updated this record

    • usage

      array — List of records across modules that reference this file

      Items:

      Array of:

      • name

        integer — ID of record in which this file is used for given module name

  • gistSync

    boolean — If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact)

  • id

    integer — Unique identifier - primary key

  • invoiceMask

    string — Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process )

  • is_visible

    boolean — Whether this space is visible to non-owner users in listings

  • isVirtual

    boolean — Determine if this stock is virtual (module setting field, shown only on space type stock )

  • lft

    integer — LEFT edge for tree identification (nested set model)

  • module

    string — Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process)

  • name

    string — Name of the Space

  • notificationOnSpaceCreate

    boolean — Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process )

  • pages

    array — Connected page ids

    Items:

    integer

  • parent_node_id

    integer — ID of the parent space in the nested set tree; null means this is a root-level space

  • prestashopSync

    boolean — If products in this space are synchronized with prestashop (module setting field, shown only on space type product)

  • purchaseMask

    string — Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process )

  • reservable

    boolean — If products in this space are reservable (module setting field, shown only on space module product )

  • reservationUnit

    string — Sets minimal reservation unit for products in this space (module setting field, shown only on space type product )

  • rgt

    integer — RIGHT edge for tree identification (nested set model)

  • right

    string, possible values: "project" — Name of parent module

  • right_id

    integer — ID of the parent module record this space is nested under

  • spacesAllowed

    object — Sub-spaces permitted to be nested under this space, keyed by module, e.g. product =&gt; [11]

  • status_id

    integer — ID of the currently active Status for this space

  • status_system

    object — Status system object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • status_system_id

    integer — ID of the StatusSystem that provides the available statuses for records in this space

  • teams

    object — Matrix of connected team ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • trid

    integer — Tree Id identification (for multiple trees separation in nested set model)

  • users

    object — Matrix of connected user ids with their respective roles

    • manager

      array — MANAGER IDs

      Items:

      integer

    • member

      array — MEMBER IDs

      Items:

      integer

    • owner

      array — OWNER IDs

      Items:

      integer

  • vectorSearchEnabled

    boolean — If true, text/wysiwyg field value writes inside this space are embedded synchronously and the /record/vector/* endpoints are available; if false, vector-search endpoints respond 403 (code 4237) and writes do not generate embeddings

  • weight

    integer — Weight, for ordering purposes

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "name": "Sample name",
  "description": "string",
  "module": "string",
  "weight": 1,
  "status_system_id": 42,
  "status_id": 42,
  "color": "#1f6feb",
  "right": "project",
  "right_id": 42,
  "lft": 1,
  "rgt": 1,
  "trid": 42,
  "depth": 1,
  "parent_node_id": 42,
  "is_visible": true,
  "vectorSearchEnabled": true,
  "estimated_time": 1,
  "customModuleId": 42,
  "boostId": "string",
  "assigned_users": [
    1
  ],
  "assigned_categories": [
    1
  ],
  "assigned_teams": [
    1
  ],
  "users": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "teams": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "categories": {
    "owner": [
      1
    ],
    "manager": [
      1
    ],
    "member": [
      1
    ]
  },
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "spacesAllowed": {
    "key": [
      1
    ]
  },
  "customFieldsValues": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "valueWysiwyg": "string",
      "valueInt": 1,
      "valueFloat": 1.5,
      "valueDatetime": "2026-01-15T09:30:00Z",
      "valueModule": "string",
      "value": "string",
      "fileId": 42,
      "customFieldInputId": 42,
      "module": "activities",
      "table": "string",
      "entityId": 42,
      "customFieldInputName": "Sample customFieldInputName",
      "selected": true,
      "ipAddress": "string",
      "translatable": true,
      "translations": {
        "en": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "it": {
          "field1": "translation1",
          "field2": "translation2"
        },
        "cs": {
          "field1": "translation1",
          "field2": "translation2"
        }
      }
    }
  ],
  "files": [
    {
      "id": 42,
      "created": "2026-01-15T09:30:00Z",
      "createdUserId": 42,
      "updated": "2026-01-15T09:30:00Z",
      "updatedUserId": 42,
      "statusId": 42,
      "statusSystemId": 42,
      "path": "string",
      "fileName": "Sample fileName",
      "name": "Sample name",
      "type": "string",
      "customType": 1,
      "storage": 1,
      "filesize": "string",
      "boostId": "string",
      "customFieldsValues": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "valueWysiwyg": "string",
          "valueInt": 1,
          "valueFloat": 1.5,
          "valueDatetime": "2026-01-15T09:30:00Z",
          "valueModule": "string",
          "value": "string",
          "fileId": 42,
          "customFieldInputId": 42,
          "module": "activities",
          "table": "string",
          "entityId": 42,
          "customFieldInputName": "Sample customFieldInputName",
          "selected": true,
          "ipAddress": "string",
          "translatable": true,
          "translations": {
            "en": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "it": {
              "field1": "translation1",
              "field2": "translation2"
            },
            "cs": {
              "field1": "translation1",
              "field2": "translation2"
            }
          }
        }
      ],
      "publicUrl": "https://acme.boost.space",
      "resize": [
        {
          "id": 42,
          "created": "2026-01-15T09:30:00Z",
          "path": "string"
        }
      ],
      "status": {
        "id": 42,
        "created": "2026-01-15T09:30:00Z",
        "created_user_id": 42,
        "name": "Sample name",
        "color": "#1f6feb",
        "icon": "string",
        "icon_prefix": "string",
        "weight": 1,
        "status_system_id": 42,
        "boostId": "string",
        "spaces": [
          1
        ],
        "statusSystem": {}
      },
      "statusSystem": {
        "id": 42,
        "color": "#1f6feb",
        "icon_prefix": "string",
        "icon": "string",
        "module": "string",
        "weight": 1,
        "name": "Sample name",
        "system_name": "Sample system_name",
        "activated": 1,
        "custom": true,
        "allow_move": "string",
        "boostId": "string"
      },
      "labels": [
        []
      ],
      "isFeaturedImage": true,
      "usage": [
        []
      ]
    }
  ],
  "chatRooms": [
    1
  ],
  "pages": [
    1
  ],
  "reservable": true,
  "prestashopSync": true,
  "reservationUnit": "string",
  "gistSync": true,
  "accountingUnit": "string",
  "controls": [
    {}
  ],
  "editAllowSeconds": 1,
  "isVirtual": true,
  "businessContractMask": "string",
  "businessCaseMask": "string",
  "businessOfferMask": "string",
  "businessOrderMask": "string",
  "invoiceMask": "string",
  "purchaseMask": "string",
  "notificationOnSpaceCreate": true,
  "businessCaseAddButtonOptions": [
    "offer"
  ],
  "businessContractAddButtonOptions": [
    "offer"
  ]
}

Statuses

  • Type:array

Array of objects

Example:

Status

  • Type:object
  • icon (required)

    string — Status icon

  • icon_prefix (required)

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • name (required)

    string — Status name

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status color

  • created

    string, format: date-time — Creation timestamp

  • created_user_id

    integer — ID of the user who created this status

  • id

    integer — Unique identifier - primary key

  • spaces

    array — IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystem

    Items:

    integer

  • status_system_id

    integer — ID of the StatusSystem this status belongs to

  • statusSystem

    object — StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "created_user_id": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "icon": "string",
  "icon_prefix": "string",
  "weight": 1,
  "status_system_id": 42,
  "boostId": "string",
  "spaces": [
    1
  ],
  "statusSystem": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  }
}

StatusSystem

  • Type:array

Array of objects

Example:

System status

  • Type:object
  • activated

    integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

  • allow_move

    string — Serialized JSON rule set defining which status transitions are permitted within this status system

  • boostId

    string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

  • color

    string — Status system color

  • custom

    boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

  • icon

    string — Status system icon

  • icon_prefix

    string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

  • id

    integer — Unique identifier - primary key

  • module

    string — Module type this status system is associated with (e.g. contact, deal, todo)

  • name

    string — Status system name

  • system_name

    string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

  • weight

    integer — Display order position; lower values appear first

Example:

{
  "id": 42,
  "color": "#1f6feb",
  "icon_prefix": "string",
  "icon": "string",
  "module": "string",
  "weight": 1,
  "name": "Sample name",
  "system_name": "Sample system_name",
  "activated": 1,
  "custom": true,
  "allow_move": "string",
  "boostId": "string"
}

Array of multiple Team objects

  • Type:array

Example:

Team

  • Type:object
  • color

    string — Display color for this team in hex format (e.g. #FF5733)

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of the user who created this record

  • fileId

    integer — ID of the file used as the team avatar image

  • id

    integer — Unique identifier - primary key

  • image_url

    string — URL of the team avatar image

  • name

    string — Display name of the team

  • resources

    array — IDs of resources assigned to this team

    Items:

    integer

  • status_system

    object — Expanded StatusSystem object

    • activated

      integer — Whether this status system is active and available for use; 1 = active, 0 = inactive

    • allow_move

      string — Serialized JSON rule set defining which status transitions are permitted within this status system

    • boostId

      string — Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference

    • color

      string — Status system color

    • custom

      boolean — Whether this is a user-defined custom status system (1) or a built-in system status system (0)

    • icon

      string — Status system icon

    • icon_prefix

      string — Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid)

    • id

      integer — Unique identifier - primary key

    • module

      string — Module type this status system is associated with (e.g. contact, deal, todo)

    • name

      string — Status system name

    • system_name

      string — Internal system-level identifier for this status system, used to reference built-in status systems by a stable key

    • weight

      integer — Display order position; lower values appear first

  • statusSystemId

    integer — ID of the StatusSystem assigned to this team

  • updated

    string, format: date-time — Last update timestamp

  • updatedUserId

    integer — ID of the user who last updated this record

  • users

    array — IDs of users who are members of this team

    Items:

    integer

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "name": "Sample name",
  "color": "#1f6feb",
  "fileId": 42,
  "statusSystemId": 42,
  "users": [
    1
  ],
  "resources": [
    1
  ],
  "status_system": {
    "id": 42,
    "color": "#1f6feb",
    "icon_prefix": "string",
    "icon": "string",
    "module": "string",
    "weight": 1,
    "name": "Sample name",
    "system_name": "Sample system_name",
    "activated": 1,
    "custom": true,
    "allow_move": "string",
    "boostId": "string"
  },
  "image_url": "https://acme.boost.space"
}

TranslationLanguage

  • Type:object

Example:

{
  "en": {
    "field1": "translation1",
    "field2": "translation2"
  },
  "it": {
    "field1": "translation1",
    "field2": "translation2"
  },
  "cs": {
    "field1": "translation1",
    "field2": "translation2"
  }
}

Array of multiple Invitation objects

  • Type:array

Example:

Invitation

  • Type:object
  • accepted

    integer — Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted)

  • categories

    array — IDs of categories the invited user will be assigned to upon acceptance

    Items:

    integer

  • created

    string, format: date-time — Creation timestamp

  • email

    string — Invited user mail

  • hash

    string — One-time token embedded in the invitation link sent to the invited user

  • id

    integer — Unique identifier - primary key

  • role

    string, possible values: "user", "admin" — Invited user role

  • teams

    array — IDs of teams the invited user will be added to upon acceptance

    Items:

    integer

Example:

{
  "id": 42,
  "email": "user@example.com",
  "role": "user",
  "hash": "string",
  "created": "2026-01-15T09:30:00Z",
  "accepted": 1,
  "teams": [
    1
  ],
  "categories": [
    1
  ]
}

Array of multiple UserRate objects

  • Type:array

Example:

User rate

  • Type:object
  • caption

    string — Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours')

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • rate

    integer — Hourly rate value for the user in the smallest currency unit

  • validUntil

    string, format: date-time — Date and time until which this rate is valid; null or absent means the rate is currently active

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "caption": "string",
  "rate": 1,
  "validUntil": "2026-01-15T09:30:00Z"
}

Array of multiple User objects

  • Type:array

Example:

User

  • Type:object
  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • labels

    array — Connected labels IDs

    Items:

    integer

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "labels": [
    1
  ]
}

Array of multiple Value Metrics objects

  • Type:array

Example:

ValueMetric

  • Type:object
  • makeScenarioId (required)

    integer — ID of the Make (Integrator) scenario that triggers this metric increment

  • value (required)

    number, format: float — The numeric amount to add to the metric each time this module runs; can be a fixed number or dynamically sourced from other modules. Stored as decimal(20,6).

  • aiTokensLog

    boolean — When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric.

  • created

    string, format: date-time — Creation timestamp

  • createdUserId

    integer — ID of user who created this record

  • id

    integer — Unique identifier - primary key

  • label

    string — The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’).

  • updated

    string, format: date-time — Last updated timestamp

  • updatedUserId

    integer — ID of user who last updated this record

Example:

{
  "id": 42,
  "created": "2026-01-15T09:30:00Z",
  "createdUserId": 42,
  "updated": "2026-01-15T09:30:00Z",
  "updatedUserId": 42,
  "makeScenarioId": 42,
  "value": 1.5,
  "aiTokensLog": true,
  "label": "string"
}