# Backendless

Backendless is a comprehensive backend-as-a-service (BaaS) platform providing scalable backend functionality for mobile and web applications, including user authentication, data persistence, file storage, and custom API services.

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 30
- **Triggers:** 0
- **Slug:** `BACKENDLESS`
- **Version:** 20260312_00

## Tools

### Copy File

**Slug:** `BACKENDLESS_COPY_FILE`

Tool to copy a file or directory within Backendless file storage. Use when duplicating files to a new location after verifying source and destination paths.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_path` | string | Yes | Absolute path of the file or directory to copy. Must start with a leading slash ('/') and point to an existing resource. |
| `target_path` | string | Yes | Destination directory path where the source will be copied. Must start with a leading slash ('/'). Will be created if it does not exist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Directory

**Slug:** `BACKENDLESS_CREATE_DIRECTORY`

Tool to create a new directory at the specified path. Use when you need to organize files under a new folder structure.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | No | Authorization token for secure file service. Required only if security is enabled. |
| `directory_path` | string | Yes | Full path of the directory to create, without leading slash. Multi-level directories will be created automatically if they don't exist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Backendless Hive

**Slug:** `BACKENDLESS_CREATE_HIVE`

Tool to create a new Hive. Use when you need to provision a new Hive resource before performing Hive operations. Example: Create a hive named 'groceryStore'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `hive_name` | string | Yes | Name of the hive to create. Must be URL-safe, without slashes. Allowed characters: letters, numbers, underscore, hyphen. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Backendless Timer

**Slug:** `BACKENDLESS_CREATE_TIMER`

Tool to create a new timer with schedule and code. Use when scheduling recurring or one-off tasks to run server-side logic after confirming parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Unique name for the timer |
| `expire` | integer | No | Expiration date/time in Unix epoch milliseconds. Timer will stop after this |
| `frequency` | object | Yes | Schedule and repeat configuration for the timer |
| `startDate` | integer | No | Start date/time in Unix epoch milliseconds. Defaults to now if omitted |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Directory

**Slug:** `BACKENDLESS_DELETE_DIRECTORY`

Tool to delete a directory at the specified path in Backendless file storage. Use when you need to remove folders after confirming the path.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | No | Optional user authentication token. If provided, the delete operation will be executed under that user's security policies. |
| `directory_path` | string | Yes | Relative path of the directory to delete in file storage. Do not include a leading slash. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete File

**Slug:** `BACKENDLESS_DELETE_FILE`

Deletes a file from Backendless file storage at the specified path. Use this tool when you need to remove files from storage. The operation is permanent and cannot be undone. Ensure the file path is correct before deletion.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | No | Optional user-token obtained from login. When provided, the delete operation executes with the authenticated user's permissions and security policies. |
| `relative_path` | string | Yes | Path to the file in Backendless file storage. Can be provided with or without a leading slash. Examples: 'txtfiles/test.txt' or '/txtfiles/test.txt' or 'test.txt'. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Backendless Timer

**Slug:** `BACKENDLESS_DELETE_TIMER`

Deletes a Backendless timer by its unique name. Use this tool to permanently remove a scheduled timer from your Backendless application. The timer must exist and you must provide its exact name. Once deleted, the timer's scheduled executions will stop immediately and cannot be recovered. Note: Requires access to Backendless Console Management API (available with Plus or Enterprise plans).

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Unique name of the timer to delete. Must match an existing timer name exactly. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Directory Listing

**Slug:** `BACKENDLESS_DIRECTORY_LISTING`

Tool to retrieve a listing of files and directories at a given path. Use when browsing or filtering file storage directories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sub` | boolean | No | If true, list directories recursively. |
| `path` | string | Yes | Path of the directory to list. Must start with '/'. |
| `offset` | integer | No | Index of the first item to return for pagination. |
| `pattern` | string | No | Wildcard pattern to filter results; '*' matches any substring, '?' matches a single character. |
| `pagesize` | integer | No | Maximum number of items to return. |
| `user_token` | string | No | User token for security policies. If provided, the request will be executed with user permissions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### General Object Retrieval

**Slug:** `BACKENDLESS_GENERAL_OBJECT_RETRIEVAL`

Tool to retrieve objects from a specified Backendless table with filtering, sorting, and pagination. Use after confirming the table name and query options. Example: "Get Users where age > 30 sorted by created desc".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `props` | string | No | Comma-separated list of properties to include, e.g., 'name,email' |
| `where` | string | No | SQL-like condition to filter objects, e.g., 'age > 25' |
| `having` | string | No | Condition to filter groups after aggregation, e.g., 'COUNT(*) > 1' |
| `offset` | integer | No | Number of objects to skip before returning results. Default is 0 if not specified. |
| `sortBy` | string | No | Comma-separated list of properties to sort by (append 'desc' for descending), e.g., 'created desc' |
| `groupBy` | string | No | Comma-separated list of properties to group by, e.g., 'department' |
| `distinct` | string | No | Column name to return distinct values for, e.g., 'city' |
| `pageSize` | integer | No | Number of objects to return per page. Default is 10 if not specified. |
| `table_name` | string | Yes | Name of the data table to query, e.g., 'Users' |
| `user-token` | string | No | User authentication token to apply user-level security policies |
| `excludeProps` | string | No | Comma-separated list of properties to exclude, e.g., 'password' |
| `loadRelations` | string | No | Comma-separated list of related properties to include, e.g., 'profile,address' |
| `relationsDepth` | integer | No | Depth of related objects to include. Default is 1 if not specified. |
| `relationsPageSize` | integer | No | Number of related objects to return per page. Default is 10 if not specified. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get All Values

**Slug:** `BACKENDLESS_GET_ALL_VALUES`

Tool to retrieve all values from a map in a specified Hive. Use when you need to fetch the entire contents of a Hive map at once.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `map_name` | string | Yes | Key name identifying the map. |
| `hive_name` | string | Yes | Name of the Hive where the map is stored. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Counter Value

**Slug:** `BACKENDLESS_GET_COUNTER_VALUE`

Tool to retrieve the current value of a Backendless counter. Use when you need to inspect an atomic counter's value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | No | Optional user-token for enforcing user-level security policies. |
| `counter_name` | string | Yes | Name of the counter to retrieve the value of. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get File Count

**Slug:** `BACKENDLESS_GET_FILE_COUNT`

Tool to get the count of files in a Backendless directory. Use when you need to determine how many items match a filter or include subdirectories.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sub` | boolean | No | If true, include files in subdirectories recursively. |
| `path` | string | Yes | Path of the directory to count files in. Must start with '/'. |
| `pattern` | string | No | Optional glob or regex pattern to filter files (prefix with 'glob:' or 'regex:'). |
| `user_token` | string | No | Optional user-token header for authenticated operations. Enforces user security policies if provided. |
| `count_directories` | boolean | No | If true, include directories in the count as well. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Key Items

**Slug:** `BACKENDLESS_GET_KEY_ITEMS`

Tool to retrieve values for a specified key in a list (all, single, or range). Use when you need specific elements or the entire list from a Hive key. Supports single index retrieval, range retrieval, or full list.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `key` | string | Yes | Key name identifying the list to retrieve. |
| `index` | integer | No | Zero-based index to retrieve a single element. Mutually exclusive with from_index and to_index. |
| `to_index` | integer | No | Zero-based end index for range retrieval. Must be provided together with from_index. |
| `hive_name` | string | Yes | Name of the Hive where the list is stored. |
| `from_index` | integer | No | Zero-based start index for range retrieval. Must be provided together with to_index. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Backendless Timer

**Slug:** `BACKENDLESS_GET_TIMER`

Tool to retrieve information about a specific timer. Use when you need to inspect a timer's schedule and next run details by name.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | Yes | Name of the timer to retrieve |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Map Put

**Slug:** `BACKENDLESS_MAP_PUT`

Tool to set or update key-value pairs in a Hive map. Use when you need to add or update multiple entries in a Hive map.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `entries` | object | Yes | Key-value pairs to set in the map. |
| `map_name` | string | Yes | Key name identifying the map. |
| `hive_name` | string | Yes | Name of the Hive where the map is stored. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Move File

**Slug:** `BACKENDLESS_MOVE_FILE`

Tool to move a file or directory within Backendless file storage. Use when relocating resources to a new path after verifying source and destination.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `source_path` | string | Yes | Absolute path of the file or directory to move. Must start with a leading slash ('/') and point to an existing resource. |
| `target_path` | string | Yes | Destination directory path where the source will be moved. Must start with a leading slash ('/'). Will be created if it does not exist. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Publish Message

**Slug:** `BACKENDLESS_PUBLISH_MESSAGE`

Tool to publish a message to a specified messaging channel. Use when you need to send notifications or events to subscribers after confirming channel and payload.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `headers` | object | No | Additional message headers for delivery filtering. |
| `message` | string | Yes | Content of the message to publish; must be a valid JSON type. |
| `publishAt` | integer | No | Unix timestamp in milliseconds when the message should be delivered. |
| `user_token` | string | No | Optional user token for security context; sent as 'user-token' header. |
| `publisherId` | string | No | Unique identifier of the message publisher; optional. |
| `repeatEvery` | integer | No | Frequency in seconds for repeating delivery. |
| `channel_name` | string | Yes | Name of the channel to publish the message to. |
| `repeatExpiresAt` | integer | No | Unix timestamp in milliseconds when repeating should stop. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Reset Counter

**Slug:** `BACKENDLESS_RESET_COUNTER`

Tool to reset a Backendless counter back to zero. Use when you need to reinitialize a counter before starting a new sequence.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_token` | string | No | Optional user-token for enforcing user-level security policies. |
| `counter_name` | string | Yes | Name of the counter to reset to zero. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Set Counter Value

**Slug:** `BACKENDLESS_SET_COUNTER_VALUE`

Tool to set a Backendless counter to a specific value conditionally. Use when you need to ensure the counter only updates if it currently matches an expected value.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expected` | integer | Yes | The expected current value of the counter |
| `user_token` | string | No | Optional user-token for enforcing user-level security policies. |
| `counter_name` | string | Yes | Name of the counter to update |
| `updatedvalue` | integer | Yes | The new value to set if the current counter equals the expected value |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Backendless Timer

**Slug:** `BACKENDLESS_UPDATE_TIMER`

Tool to update schedule or code of an existing timer. Use when you need to modify a timer's configuration after retrieval.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `code` | string | No | Updated code to execute when the timer runs |
| `name` | string | Yes | Name of the timer to update |
| `expire` | integer | No | New expiration date/time in Unix epoch milliseconds |
| `frequency` | object | No | Updated schedule and repeat configuration for the timer |
| `startDate` | integer | No | New start date/time in Unix epoch milliseconds |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete User

**Slug:** `BACKENDLESS_USER_DELETE`

Tool to delete a user by user ID. Use when removing a user account after confirming permissions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique ID (objectId) of the user to delete. |
| `user_token` | string | No | Optional user authentication token. If provided, the operation uses the user's security context. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Find User by ID

**Slug:** `BACKENDLESS_USER_FIND`

Tool to retrieve user information by ID. Use when you need to fetch details for a specific user after you have their objectId.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | The unique objectId of the user to retrieve. |
| `user_token` | string | No | Optional user authentication token. If provided, the request uses the user's security context. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Grant Permission to User

**Slug:** `BACKENDLESS_USER_GRANT_PERMISSION`

Tool to grant a permission to a user on a specific data object. Use when precise access rights must be assigned after verifying the table and object IDs. Example: "Grant FIND permission to a user for a Person record".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | string | Yes | Object ID of the user to whom the permission is being granted. |
| `object_id` | string | Yes | Unique identifier of the data object whose permissions are to be modified. |
| `permission` | string ("UPDATE" | "FIND" | "REMOVE" | "DESCRIBE" | "PERMISSION" | "LOAD_RELATIONS" | "ADD_RELATION" | "DELETE_RELATION" | "UPSERT" | "*") | Yes | Type of permission to grant. Use '*' to grant all permissions. |
| `table_name` | string | Yes | Name of the data table containing the object. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### User Login

**Slug:** `BACKENDLESS_USER_LOGIN`

Tool to log in a registered user with identity and password. Use when you need to authenticate a user before making subsequent requests. Example: "Login alice@wonderland.com with password wonderland".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `login` | string | Yes | Value for the property marked as identity (e.g., email). |
| `password` | string | Yes | User's password (case-sensitive). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### User Logout

**Slug:** `BACKENDLESS_USER_LOGOUT`

Tool to log out the currently authenticated user. Use when you need to terminate the user session after operations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user-token` | string | Yes | Session token for the user. Use as 'user-token' header to authenticate the request. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### User Password Recovery

**Slug:** `BACKENDLESS_USER_PASSWORD_RECOVERY`

Tool to initiate password recovery for a user. Use when a user requests a password reset after forgetting their password. Triggers an email with recovery instructions.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_identity` | string | Yes | Value of the property marked as identity on the Users table (by default this is an email). Must be URL-encoded in the request path. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### User Registration

**Slug:** `BACKENDLESS_USER_REGISTRATION`

Tool to register a new user with email and password. Use when creating a user account or converting a guest account to a registered one after collecting credentials. Example: Register 'alice@wonderland.com' with password 'wonderland'.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | Yes | User's email address used as identity in Backendless |
| `objectId` | string | No | Optional objectId of a guest user to convert into a registered user |
| `password` | string | Yes | Password for the new user (case-sensitive) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Revoke Permission from User

**Slug:** `BACKENDLESS_USER_REVOKE_PERMISSION`

Tool to revoke a permission from a specified user or role on a specific data object. Use when you need to deny a previously granted operation for a user or role on a data object after verifying the table and object IDs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `role` | string | No | Name of the role to revoke the permission for. Ignored if 'user' is provided. |
| `user` | string | No | ObjectId of the user in the Users table. Provide this to revoke for a specific user. |
| `object_id` | string | Yes | Unique identifier of the data object whose permissions are to be modified |
| `permission` | string ("UPDATE" | "FIND" | "REMOVE" | "DESCRIBE" | "PERMISSION" | "LOAD_RELATIONS" | "ADD_RELATION" | "DELETE_RELATION" | "UPSERT" | "*") | Yes | Type of permission to revoke. Use '*' to revoke all permissions. |
| `table_name` | string | Yes | Name of the data table containing the object |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update User

**Slug:** `BACKENDLESS_USER_UPDATE`

Tool to update properties of an existing Backendless user. Use when you need to modify user profile fields after login. Example: Update phoneNumber to "5551212".

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | string | Yes | ObjectId of the user to update |
| `properties` | object | Yes | Key-value pairs of user properties to update |
| `user_token` | string | No | Session token obtained from a successful login. If provided, the update will be performed under that user's owner policy. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Validate User Token

**Slug:** `BACKENDLESS_VALIDATE_USER_TOKEN`

Tool to validate a user session token. Use after obtaining a token from login to confirm the session is active.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `userToken` | string | Yes | The session token to validate, returned by user login |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
