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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 transformItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 validateItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
promptstring | null— User-provided text prompt for the AI tool.
Example:
{
"prompt": null
}
Responses
Status: 200 Successful operation
Content-Type: application/json
-
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
modulestring | null— Boost.space module identifier related to the tool execution. -
promptstring | null— User-provided text prompt for the AI tool. -
tablestring | 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
-
resultstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
clientIdstring— Publicly known OAuth2 client identifier used in authorization and token requests -
clientNamestring— Human-readable display name of the OAuth2 application -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
redirectUrisarray— Permitted redirect URIs that the authorization server will send the auth code toItems:
string -
scopesarray— OAuth2 scopes this client is authorized to requestItems:
string -
tokenIdinteger— ID of the MCP API token linked to this OAuth2 client for machine-to-machine access -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
clientNamestring— Client application name -
clientSecretstring— New client secret -
redirectUrisarray— Allowed redirect URIsItems:
string -
scopestring— Space-delimited scopes per RFC 7591
Example:
{
"clientName": "",
"clientSecret": "",
"redirectUris": [
""
],
"scope": ""
}
Responses
Status: 200 OAuth2 client updated
Content-Type: application/json
-
clientIdstring— Publicly known OAuth2 client identifier used in authorization and token requests -
clientNamestring— Human-readable display name of the OAuth2 application -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
redirectUrisarray— Permitted redirect URIs that the authorization server will send the auth code toItems:
string -
scopesarray— OAuth2 scopes this client is authorized to requestItems:
string -
tokenIdinteger— ID of the MCP API token linked to this OAuth2 client for machine-to-machine access -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
clientIdstring— Publicly known OAuth2 client identifier used in authorization and token requests -
clientNamestring— Human-readable display name of the OAuth2 application -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
redirectUrisarray— Permitted redirect URIs that the authorization server will send the auth code toItems:
string -
scopesarray— OAuth2 scopes this client is authorized to requestItems:
string -
tokenIdinteger— ID of the MCP API token linked to this OAuth2 client for machine-to-machine access -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
grantTypesarray— Defaults to both if not providedItems:
string, possible values:"authorization_code", "refresh_token" -
scopestring— Space-delimited scopes per RFC 7591, e.g. 'usertodo '
Example:
{
"clientName": "",
"redirectUris": [
""
],
"scope": "",
"grantTypes": [
"authorization_code"
]
}
Responses
Status: 201 OAuth2 client created
Content-Type: application/json
-
clientIdstring— Publicly known OAuth2 client identifier used in authorization and token requests -
clientNamestring— Human-readable display name of the OAuth2 application -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
redirectUrisarray— Permitted redirect URIs that the authorization server will send the auth code toItems:
string -
scopesarray— OAuth2 scopes this client is authorized to requestItems:
string -
tokenIdinteger— ID of the MCP API token linked to this OAuth2 client for machine-to-machine access -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
codestring— Authorization code (required for authorization_code grant) -
redirect_uristring— Redirect URI (required for authorization_code grant) -
refresh_tokenstring— 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_tokenstring— Access token -
expires_ininteger— Token expiration time in seconds -
refresh_tokenstring— Refresh token -
scopestring— Granted scopes -
token_typestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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_idstring -
expinteger— Expiration timestamp -
scopearrayItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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_tokenstring -
expires_ininteger -
refresh_tokenstring -
scopestring -
token_typestring
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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_hintstring, 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
-
revokedboolean
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
colorstring— Display color for this category in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
defaultboolean— 1 if this is the default category assigned to new users, 0 otherwise -
fileIdinteger— ID of the file used as the category avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the category avatar image -
namestring— Display name of the category -
resourcesarray— IDs of resources assigned to this categoryItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this category -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who belong to this categoryItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
colorstring— Display color for this category in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
defaultboolean— 1 if this is the default category assigned to new users, 0 otherwise -
fileIdinteger— ID of the file used as the category avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the category avatar image -
namestring— Display name of the category -
resourcesarray— IDs of resources assigned to this categoryItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this category -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who belong to this categoryItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— ID of the user-defined sub-status within the system status.
-
rawPayloadobject— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— ID of the user-defined sub-status within the system status.
-
rawPayloadobject— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
queryTimeMsinteger -
resultsarrayItems:
-
recordobject-
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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— ID of the user-defined sub-status within the system status.
-
-
recordIdinteger -
similaritynumber, format:float
-
-
totalCandidatesinteger— 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
-
queryTimeMsinteger -
resultsarrayItems:
-
distancenumber, format:float -
recordobject-
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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— ID of the user-defined sub-status within the system status.
-
-
recordIdinteger
-
-
totalCandidatesinteger
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
-
contextarrayItems:
-
fromSegmentstring— Segment name; only present when `segment_id` was provided. -
retrievedinteger
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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
positionstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
positionstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
sizesarray— Optional thumbnail sizes to generateItems:
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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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 -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— 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
-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
colorstring— Display color for this team in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
fileIdinteger— ID of the file used as the team avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the team avatar image -
namestring— Display name of the team -
resourcesarray— IDs of resources assigned to this teamItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this team -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who are members of this teamItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
colorstring— Display color for this team in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
fileIdinteger— ID of the file used as the team avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the team avatar image -
namestring— Display name of the team -
resourcesarray— IDs of resources assigned to this teamItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this team -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who are members of this teamItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
idinteger— Id of deleted record -
remotesarray— Remote idsItems:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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:
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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). -
aiTokensLogboolean— When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelstring— The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’). -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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). -
aiTokensLogboolean— When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelstring— The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’). -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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). -
aiTokensLogboolean— When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelstring— The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’). -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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
-
aiCreativitystring, possible values:"high", "medium", "low"— Controls how expressive and varied the AI output language is; high allows more creative responses. -
aiVoiceTonestring, possible values:"auto", "professional", "technical", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude in which the generated content is delivered. -
columnKeystring— Identifier of the custom field column this transform is applied to. -
customInputIdinteger— ID of the custom field input (Field) this transform is bound to. -
enabledboolean— Whether this column data transform is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
modulestring— System name of the module (e.g. contact, deal) that owns the column being transformed. -
promptstring— User-defined instruction sent to the AI to guide how the column value should be transformed. -
providerstring, 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. -
typestring, 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
-
columnKeystring— Identifier of the custom field column this validation rule is applied to. -
customInputIdinteger— ID of the custom field input (Field) this validation rule is bound to. -
enabledboolean— Whether this column data validation rule is active and will be applied during processing. -
idinteger— Unique identifier - primary key -
includeEmptyFieldsboolean— When true, records with an empty value in the target column are also submitted for validation. -
modulestring— System name of the module (e.g. contact, deal) that owns the column being validated. -
promptstring— User-defined instruction sent to the AI describing how the column value should be validated. -
providerstring, 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
-
aiColumnDataValidationIdinteger— ID of the ColumnDataValidation configuration that produced this result. -
entityIdstring— ID of the record (entity) whose field was validated. -
idinteger— Unique identifier - primary key -
resultstring— 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
-
clientIdstring— Publicly known OAuth2 client identifier used in authorization and token requests -
clientNamestring— Human-readable display name of the OAuth2 application -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
redirectUrisarray— Permitted redirect URIs that the authorization server will send the auth code toItems:
string -
scopesarray— OAuth2 scopes this client is authorized to requestItems:
string -
tokenIdinteger— ID of the MCP API token linked to this OAuth2 client for machine-to-machine access -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— 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
-
allowedIpsarray— Whitelist of IPv4/IPv6 addresses or CIDR ranges; empty means unrestrictedItems:
string -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
descriptionstring— Human-readable description of the token's purpose -
idinteger— Unique identifier - primary key -
mcpboolean— When true, this token is an MCP (Model Context Protocol) token for AI integrations -
permissionsarray— Per-module CRUD permissions granted to this tokenItems:
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— Whether the token may update records in this module
-
-
priorityinteger— Default conflict-resolution priority across tokens; lower value takes precedence -
tokenstring— Bearer token value used in the Authorization header -
userIdinteger— 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
-
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createboolean— Whether the token may create records in this module -
createdstring— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
deleteboolean— Whether the token may delete records in this module -
idinteger— Unique identifier - primary key -
modulestring— Module whose resources this permission controls -
readboolean— Whether the token may read records in this module -
tokenIdinteger— ID of the token this permission entry belongs to -
updateboolean— 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
-
colorstring— Display color for this category in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
defaultboolean— 1 if this is the default category assigned to new users, 0 otherwise -
fileIdinteger— ID of the file used as the category avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the category avatar image -
namestring— Display name of the category -
resourcesarray— IDs of resources assigned to this categoryItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this category -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who belong to this categoryItems:
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 -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
Example:
{
"id": "1",
"application": "string",
"delete": true
}
Error
- Type:
object
Standard Boost.space error body returned by all 4xx/5xx responses.
-
codeinteger— Boost.space error code — the HTTP status for generic errors (e.g. 400, 401, 403, 404, 500) or a specific internal code for finer cases (e.g. 4002 missing required field, 4005 object not found, 4031 2FA required, 4227 OAuth error). -
messagestring— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user that created this module -
descriptionstring | null— More detailed description of the module -
idinteger— Unique identifier - primary key -
isDemoboolean— Whether this module is a demo module -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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. -
boostIdstring— Globally unique cross-system identifier for this record (used for integrations and deduplication). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
featuredImageIdinteger— ID of the File used as the default image for this record. -
filesarray— IDs of files attached to this record.Items:
integer -
idinteger— Unique identifier - primary key -
labelsarray— IDs of labels assigned to this record.Items:
integer -
statusIdinteger— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— 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
-
autoAttachboolean— When true, this field group is automatically attached to new records in the target module. -
boostIdstring— Boost space internal record identification -
createdstring, format:date-time— Creation timestamp -
derivedFrominteger— ID of group from which this group has been derived - only for protected field groups -
entitiesarray— 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'). -
entityIdinteger— Related entity id -
positionstring— 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. -
spaceIdinteger— ID of the space this field group attachment is scoped to.
-
-
idinteger— Unique identifier - primary key -
inputsarray— Ordered list of fields belonging to this field group.Items:
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— Whether the field is visible (true = visible, false = hidden).
-
-
inputSizestring— Default layout width applied to each field inside this group (e.g. 'full', 'half'). -
modulestring— Module name this field group belongs to (e.g. 'contact', 'deal'). -
namestring— Name of the Field Group. -
protectedboolean— Marks field group as system default - non-changeable -
sizestring— Layout width of the field group in the UI (e.g. 'full', 'half'). -
staticstring— Static HTML/text content rendered inside the group; used for informational or decorative groups with no input fields. -
systemNamestring— Group system name - if set (non-changeable) - only for protected field groups -
tablestring— Specific table within the module this field group targets; used when a module has multiple tables. -
weightinteger— 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
-
actionIdinteger— The action to fire after the button click. -
aiCreativitystring, possible values:"high", "medium", "low"— Controls the expressiveness of the language in the content. Only works if type=ai -
aiFormattingstring, possible values:"text", "formatted_text", "bullets", "numbered_list"— Refers to the structural and visual organization of the content. Only works if type=ai -
aiLengthstring, possible values:"auto", "word_or_two", "sentence", "few_sentences", "paragraph", "three_paragraphs"— Specifies the desired extent of the content. Only works if type=ai -
aiPromptstring— 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 -
aiTypestring, possible values:"auto", "manual"— Specifies whether the AI field should be controlled automatically or manually. -
aiVoiceTonestring, possible values:"auto", "professional", "casual", "straightforward", "confident", "friendly", "humorous", "inspirational"— Determines the style and attitude of AI response. Only works if type=ai -
classNamestring— Name of CSS class. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
currencyIdinteger— ID of the currency used for the money input type. -
descriptionstring— Description of input -
fieldGroupsarray— IDs of the FieldGroup's this field belongs to, controlling where it is rendered.Items:
integer -
idinteger— Unique identifier - primary key -
inputCalculationstring— 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 -
inputOptionsarray— In case of select or multiselect, set of optionsItems:
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— Internal stored value for this option; use this value (not the label) when setting a field value of type select or multiselect.
-
-
inputTypestring, 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 -
isLabelstring— If true input is used as a label -
namestring— Name of the Input. -
order=0integer— Display order of this field within its field group; lower values appear first. -
percentUpTo100boolean— If true percent can be only 0 to 100. -
propertystring— It is used for the field type related_value. It describes which entity property should be load. -
providerstring, possible values:"platform", "websearch", "custom"— AI provider used to generate the field value. Only works if type=ai -
providerIdinteger— ID of the provider configuration; used when provider=custom. Only works if type=ai -
relatedCustomModuleIdinteger— ID of the custom module a related_entity/related_entities field links to. When null, the field's `module` column identifies the linked module. -
relatedEntityCfIdstring— 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. -
relatedEntityPropertystring— Name of the related entity's property to load, used when the source is an entity property rather than a custom field. -
relatedValueCounterpartboolean— This is an option for the field type related_entity that enables rendering the counterpart in the entity this field links to. -
remotesarray— IDs of remote integrations linked to this field.Items:
-
id(required)string— Remote ID -
applicationstring— Remote Application -
deleteboolean— Delete Remote ID
-
-
requiredboolean— Whether filling out this field is required when submitting the form (true = required, false = optional). -
rollupAggregationstring, 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 -
rollupRelationInputIdinteger— 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 -
rollupTargetInputIdinteger— 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 -
spacesarray— IDs of spaces this field's related_entity/related_value lookup is restricted to; empty means no restriction.Items:
integer -
tooltipstring— Content of tooltip. -
translatableboolean— Is field translatable -
visibleboolean— 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
-
colorstring— Accent color for this option displayed in the UI, in 6-digit HEX format (e.g. '#FF5733'). -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldInputIdinteger— ID of parent field -
idinteger— Unique identifier - primary key -
labelstring— Label of this option -
valuestring— 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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— 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
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
Example:
{
"id": 42,
"created": "2026-01-15T09:30:00Z",
"path": "string"
}
File usage information
- Type:
object
-
nameinteger— 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 -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— 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 -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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:
Menu
- Type:
object
-
name(required)string— Display name of the menu item -
spaceId(required)integer— ID of the space this menu item belongs to -
categoriesarray— IDs of categories allowed to see this menu itemItems:
integer -
colorstring— Display color for the menu item in hex format (e.g. #FF5733) -
contentstring— Link URL or custom content (for type 'link') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
customModuleIdinteger— ID of the custom module the menu item is bound to -
displayboolean— True if the menu item should be displayed, false otherwise -
entityIdinteger— ID of the entity the menu item points to -
iconstring— Icon identifier for the menu item -
idinteger— Unique identifier - primary key -
modifiedstring, format:date-time— Timestamp of the last modification of the menu item -
modulestring— System name of the module the item links to (for type 'module') -
orderinteger— Sort order of the menu item within its level -
parentIdinteger | null— ID of the parent menu item; null for top-level items -
targetstring— Link target (e.g. _blank, _self) -
teamsarray— IDs of teams allowed to see this menu itemItems:
integer -
typestring, possible values:"module", "link", "folder", "custom-module"— Type of the menu item -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users allowed to see this menu itemItems:
integer -
viewstring— 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
-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
Example:
{
"owner": [
1
],
"manager": [
1
],
"member": [
1
]
}
Space
- Type:
object
-
accountingUnitstring— Accounting unit (module setting field, shown only on space type contact or business process) -
assigned_categoriesarray— IDs of categories assigned to this spaceItems:
integer -
assigned_teamsarray— IDs of teams assigned to this spaceItems:
integer -
assigned_usersarray— IDs of users directly assigned to this spaceItems:
integer -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
businessCaseAddButtonOptionsarray— 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" -
businessCaseMaskstring— Mask used for generating numbers of new Business Case records (module setting field, shown only on space module business-process ) -
businessContractAddButtonOptionsarray— 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" -
businessContractMaskstring— Mask used for generating numbers of new Business Contract records (module setting field, shown only on space module business-process ) -
businessOfferMaskstring— Mask used for generating numbers of new Business Offer records (module setting field, shown only on space module business-process ) -
businessOrderMaskstring— Mask used for generating numbers of new Business Order records (module setting field, shown only on space module business-process ) -
categoriesobject— Matrix of connected category ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
chatRoomsarray— Connected chat-room idsItems:
integer -
colorstring— Color in hex -
controlsarray— UI control configuration entries for the todo module (module setting field, shown only on space module todo)Items:
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Custom fieldsItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customModuleIdinteger— ID of the custom module definition associated with this space, if it was created as a custom module space -
depthinteger— Level of depth inside current tree (nested set model) -
descriptionstring— More detailed description of space -
editAllowSecondsinteger— 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_timeinteger— Amount of minutes as an estimated time for this todo list -
filesarray— List of attached filesItems:
-
statusSystemId(required)integer— ID of the system status that determines the file lifecycle stage -
boostIdstring— Globally unique boost.space identifier for this record (UUID-like) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
customFieldsValuesarray— Values of space-specific custom fields attached to this fileItems:
-
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. -
createdstring, format:date-time— Creation datetime -
customFieldInputIdinteger— Field id. If this field is not specified, ID is loaded using `customFieldInputName` and `module` -
customFieldInputNamestring— Name of field which gets filled. Applied only when `customFieldInputId` is not set -
entityIdinteger— ID of the record (within the given module) that this value is attached to. -
fileIdinteger— ID of the uploaded file; used when the field inputType is 'file'. -
idinteger— Unique identifier of this field value record. -
ipAddressstring— IP address from which this value was submitted; used for GDPR, newsletter, and cookie acceptance inputs. -
modulestring— Module this field value belongs to -
selectedboolean— TRUE if this value is selected (used for checkboxes and radio sets) -
tablestring— Module table (if module has more tables). If not filled, is loaded automatically -
translatableboolean— Is field translatable -
translationsobject -
valueDatetimestring, format:date-time— Input value, stored as Datetime (inner db representation of DATETIME value -
valueFloatnumber, format:float— Input value, stored as Float (inner db representation of DOUBLE value -
valueIntinteger— Input value, stored as Integer (inner db representation of INT value -
valueModulestring— Module of connected entity. It's only for values from connected-value fields. -
valueWysiwygstring— Input value, stored as Wysiwig (inner db representation of TEXT value)
-
-
customTypeinteger— ID of the custom type classification applied to this file -
fileNamestring— Internal filename as stored on disk (may differ from the original upload name) -
filesizestring— Human-readable file size string (e.g. '4 kB') -
idinteger— Unique identifier - primary key -
isFeaturedImageboolean— When true, this image is used as the featured/cover image for the parent record -
labelsarray— Labels attached to this fileItems:
Array of:
-
color(required)string— Color of this label -
name(required)string— Name of this label -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
editableboolean— Determines if label can be edited by currently logged user -
idinteger— Unique identifier - primary key -
modulestring— 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`). -
spacesobject— 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. -
typestring, 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. -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record
-
-
namestring— Original file name (human-readable) -
pathstring— Relative storage path where the file is persisted on the server or remote storage -
publicUrlstring— Publicly accessible URL for reading the file without authentication -
resizearrayItems:
-
createdstring, format:date-time— Creation timestamp -
idinteger— Unique identifier - primary key -
pathstring— Full file-path
-
-
statusobject— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— Display order position; lower values appear first
-
-
statusIdinteger— ID of the user-defined status applied to this file -
statusSystemobject— Full StatusSystem object for the system lifecycle status applied to this file-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
storageinteger— Storage flag (0 = local disk, non-zero = remote/cloud storage) -
typestring— MIME type of the file (e.g. image/png, application/pdf) -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— ID of user who last updated this record -
usagearray— List of records across modules that reference this fileItems:
Array of:
-
nameinteger— ID of record in which this file is used for given module name
-
-
-
gistSyncboolean— If contacts in this space are synchronized with Gist (module setting field, shown only on space type contact) -
idinteger— Unique identifier - primary key -
invoiceMaskstring— Mask used for generating numbers of new Invoice records (module setting field, shown only on space module business-process ) -
is_visibleboolean— Whether this space is visible to non-owner users in listings -
isVirtualboolean— Determine if this stock is virtual (module setting field, shown only on space type stock ) -
lftinteger— LEFT edge for tree identification (nested set model) -
modulestring— Module type this space belongs to (e.g. contact, deal, todo, work, product, stock-item, business-process) -
namestring— Name of the Space -
notificationOnSpaceCreateboolean— Check for triggerring notifications about created sub-space (module setting field, shown only on space module business-process ) -
pagesarray— Connected page idsItems:
integer -
parent_node_idinteger— ID of the parent space in the nested set tree; null means this is a root-level space -
prestashopSyncboolean— If products in this space are synchronized with prestashop (module setting field, shown only on space type product) -
purchaseMaskstring— Mask used for generating numbers of new Purchase records (module setting field, shown only on space module business-process ) -
reservableboolean— If products in this space are reservable (module setting field, shown only on space module product ) -
reservationUnitstring— Sets minimal reservation unit for products in this space (module setting field, shown only on space type product ) -
rgtinteger— RIGHT edge for tree identification (nested set model) -
rightstring, possible values:"project"— Name of parent module -
right_idinteger— ID of the parent module record this space is nested under -
spacesAllowedobject— Sub-spaces permitted to be nested under this space, keyed by module, e.g. product => [11] -
status_idinteger— ID of the currently active Status for this space -
status_systemobject— Status system object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
status_system_idinteger— ID of the StatusSystem that provides the available statuses for records in this space -
teamsobject— Matrix of connected team ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
tridinteger— Tree Id identification (for multiple trees separation in nested set model) -
usersobject— Matrix of connected user ids with their respective roles-
managerarray— MANAGER IDsItems:
integer -
memberarray— MEMBER IDsItems:
integer -
ownerarray— OWNER IDsItems:
integer
-
-
vectorSearchEnabledboolean— 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 -
weightinteger— 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 -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status color -
createdstring, format:date-time— Creation timestamp -
created_user_idinteger— ID of the user who created this status -
idinteger— Unique identifier - primary key -
spacesarray— IDs of spaces this status is scoped to; empty means the status is available globally within its StatusSystemItems:
integer -
status_system_idinteger— ID of the StatusSystem this status belongs to -
statusSystemobject— StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
weightinteger— 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
-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— 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
-
colorstring— Display color for this team in hex format (e.g. #FF5733) -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of the user who created this record -
fileIdinteger— ID of the file used as the team avatar image -
idinteger— Unique identifier - primary key -
image_urlstring— URL of the team avatar image -
namestring— Display name of the team -
resourcesarray— IDs of resources assigned to this teamItems:
integer -
status_systemobject— Expanded StatusSystem object-
activatedinteger— Whether this status system is active and available for use; 1 = active, 0 = inactive -
allow_movestring— Serialized JSON rule set defining which status transitions are permitted within this status system -
boostIdstring— Globally unique identifier for this record in the format EntityName0{id}, usable as a stable cross-entity reference -
colorstring— Status system color -
customboolean— Whether this is a user-defined custom status system (1) or a built-in system status system (0) -
iconstring— Status system icon -
icon_prefixstring— Font-icon library prefix used to render the icon (e.g. 'fas' for Font Awesome Solid) -
idinteger— Unique identifier - primary key -
modulestring— Module type this status system is associated with (e.g. contact, deal, todo) -
namestring— Status system name -
system_namestring— Internal system-level identifier for this status system, used to reference built-in status systems by a stable key -
weightinteger— Display order position; lower values appear first
-
-
statusSystemIdinteger— ID of the StatusSystem assigned to this team -
updatedstring, format:date-time— Last update timestamp -
updatedUserIdinteger— ID of the user who last updated this record -
usersarray— IDs of users who are members of this teamItems:
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
-
acceptedinteger— Whether the invited user has already accepted the invitation (0 = pending, 1 = accepted) -
categoriesarray— IDs of categories the invited user will be assigned to upon acceptanceItems:
integer -
createdstring, format:date-time— Creation timestamp -
emailstring— Invited user mail -
hashstring— One-time token embedded in the invitation link sent to the invited user -
idinteger— Unique identifier - primary key -
rolestring, possible values:"user", "admin"— Invited user role -
teamsarray— IDs of teams the invited user will be added to upon acceptanceItems:
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
-
captionstring— Human-readable label identifying the purpose or context of this rate (e.g. 'Standard', 'After hours') -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
rateinteger— Hourly rate value for the user in the smallest currency unit -
validUntilstring, 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
-
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelsarray— Connected labels IDsItems:
integer -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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). -
aiTokensLogboolean— When true, the value amount is deducted from the organization AI Credits quota instead of incrementing the metric. -
createdstring, format:date-time— Creation timestamp -
createdUserIdinteger— ID of user who created this record -
idinteger— Unique identifier - primary key -
labelstring— The name of the metric or event being tracked (e.g. ‘New Lead’, ‘Sale Completed’). -
updatedstring, format:date-time— Last updated timestamp -
updatedUserIdinteger— 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"
}