> ## Documentation Index
> Fetch the complete documentation index at: https://docs.pinkfish.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# ragic

> Ragic Database

**Server path:** `/ragic` | **Type:** Application | **PCID required:** Yes

## Tools

| Tool                                                      | Description                          |
| --------------------------------------------------------- | ------------------------------------ |
| [`ragic_create_record`](#ragic_create_record)             | Create a new record                  |
| [`ragic_delete_record`](#ragic_delete_record)             | Delete a record                      |
| [`ragic_get_record`](#ragic_get_record)                   | Get a single record                  |
| [`ragic_list_action_buttons`](#ragic_list_action_buttons) | List action buttons for a sheet      |
| [`ragic_list_records`](#ragic_list_records)               | List records from a sheet            |
| [`ragic_mass_approval`](#ragic_mass_approval)             | Mass approve or reject records       |
| [`ragic_mass_lock`](#ragic_mass_lock)                     | Mass lock or unlock records          |
| [`ragic_mass_search_replace`](#ragic_mass_search_replace) | Mass search and replace field values |
| [`ragic_mass_update`](#ragic_mass_update)                 | Mass update field values             |
| [`ragic_update_record`](#ragic_update_record)             | Update a record                      |

***

## ragic\_create\_record

Create a new record

**Parameters:**

| Parameter        | Type    | Required | Default | Description                                                                                                       |
| ---------------- | ------- | -------- | ------- | ----------------------------------------------------------------------------------------------------------------- |
| `path`           | string  | Yes      | —       | Folder path to the sheet                                                                                          |
| `sheetIndex`     | integer | Yes      | —       | Sheet number/index                                                                                                |
| `v`              | integer | No       | —       | API version                                                                                                       |
| `doFormula`      | boolean | No       | —       | Recalculate formulas after creation                                                                               |
| `doDefaultValue` | boolean | No       | —       | Load default values for empty fields                                                                              |
| `doWorkflow`     | boolean | No       | —       | Execute workflow scripts after creation                                                                           |
| `notification`   | boolean | No       | —       | Send notifications (default: true)                                                                                |
| `body`           | object  | Yes      | —       | Field values as key-value pairs. Keys are numeric field IDs (e.g. '1000001'), values are field values as strings. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "v": {
        "type": "integer",
        "description": "API version",
        "enum": [
          3
        ]
      },
      "doFormula": {
        "type": "boolean",
        "description": "Recalculate formulas after creation"
      },
      "doDefaultValue": {
        "type": "boolean",
        "description": "Load default values for empty fields"
      },
      "doWorkflow": {
        "type": "boolean",
        "description": "Execute workflow scripts after creation"
      },
      "notification": {
        "type": "boolean",
        "description": "Send notifications (default: true)"
      },
      "body": {
        "type": "object",
        "description": "Field values as key-value pairs. Keys are numeric field IDs (e.g. '1000001'), values are field values as strings."
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "body"
    ]
  }
  ```
</Expandable>

***

## ragic\_delete\_record

Delete a record

**Parameters:**

| Parameter    | Type    | Required | Default | Description              |
| ------------ | ------- | -------- | ------- | ------------------------ |
| `path`       | string  | Yes      | —       | Folder path to the sheet |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index       |
| `recordId`   | integer | Yes      | —       | Record ID to delete      |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "recordId": {
        "type": "integer",
        "description": "Record ID to delete"
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "recordId"
    ]
  }
  ```
</Expandable>

***

## ragic\_get\_record

Get a single record

**Parameters:**

| Parameter    | Type    | Required | Default | Description                       |
| ------------ | ------- | -------- | ------- | --------------------------------- |
| `path`       | string  | Yes      | —       | Folder path to the sheet          |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index                |
| `recordId`   | integer | Yes      | —       | Record ID                         |
| `v`          | integer | No       | —       | API version                       |
| `subtables`  | integer | No       | —       | Set to 0 to exclude subtable data |
| `info`       | boolean | No       | —       | Include create date and user info |
| `naming`     | string  | No       | —       | Field naming convention           |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "recordId": {
        "type": "integer",
        "description": "Record ID"
      },
      "v": {
        "type": "integer",
        "description": "API version",
        "enum": [
          3
        ]
      },
      "subtables": {
        "type": "integer",
        "description": "Set to 0 to exclude subtable data",
        "enum": [
          0,
          1
        ]
      },
      "info": {
        "type": "boolean",
        "description": "Include create date and user info"
      },
      "naming": {
        "type": "string",
        "description": "Field naming convention",
        "enum": [
          "EID",
          "FNAME"
        ]
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "recordId"
    ]
  }
  ```
</Expandable>

***

## ragic\_list\_action\_buttons

List action buttons for a sheet

**Parameters:**

| Parameter    | Type    | Required | Default | Description               |
| ------------ | ------- | -------- | ------- | ------------------------- |
| `path`       | string  | Yes      | —       | Folder path to the sheet  |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index        |
| `category`   | string  | No       | —       | Filter by button category |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "category": {
        "type": "string",
        "description": "Filter by button category",
        "enum": [
          "massOperation"
        ]
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex"
    ]
  }
  ```
</Expandable>

***

## ragic\_list\_records

List records from a sheet

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                                                                                                                         |
| ------------ | ------- | -------- | ------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `path`       | string  | Yes      | —       | Folder path to the sheet (e.g. 'sales', 'hr/employees'). This is the path segment between your account name and the sheet index in a Ragic URL.                     |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index                                                                                                                                                  |
| `v`          | integer | No       | —       | API version. Use v=3 for the latest response format.                                                                                                                |
| `limit`      | integer | No       | —       | Maximum number of records to return per page (default: 1000)                                                                                                        |
| `offset`     | integer | No       | —       | Number of records to skip for pagination                                                                                                                            |
| `where`      | string  | No       | —       | Filter condition in format 'fieldId,operand,value'. Operands: eq (equals), like (contains), regex, gte (>=), lte (\<=), gt (>), lt (\<). Example: '1000001,eq,John' |
| `fts`        | string  | No       | —       | Full-text search term across all fields                                                                                                                             |
| `filterId`   | string  | No       | —       | Shared View ID to apply a saved filter                                                                                                                              |
| `order`      | string  | No       | —       | Sort order in format 'fieldId,ASC' or 'fieldId,DESC'                                                                                                                |
| `subtables`  | integer | No       | —       | Set to 0 to exclude subtable data, 1 to include                                                                                                                     |
| `listing`    | boolean | No       | —       | Only return fields shown on the listing page                                                                                                                        |
| `info`       | boolean | No       | —       | Include create date and user info with each record                                                                                                                  |
| `naming`     | string  | No       | —       | Field naming convention in response: EID for numeric field IDs, FNAME for human-readable field names                                                                |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet (e.g. 'sales', 'hr/employees'). This is the path segment between your account name and the sheet index in a Ragic URL."
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "v": {
        "type": "integer",
        "description": "API version. Use v=3 for the latest response format.",
        "enum": [
          3
        ]
      },
      "limit": {
        "type": "integer",
        "description": "Maximum number of records to return per page (default: 1000)"
      },
      "offset": {
        "type": "integer",
        "description": "Number of records to skip for pagination"
      },
      "where": {
        "type": "string",
        "description": "Filter condition in format 'fieldId,operand,value'. Operands: eq (equals), like (contains), regex, gte (>=), lte (<=), gt (>), lt (<). Example: '1000001,eq,John'"
      },
      "fts": {
        "type": "string",
        "description": "Full-text search term across all fields"
      },
      "filterId": {
        "type": "string",
        "description": "Shared View ID to apply a saved filter"
      },
      "order": {
        "type": "string",
        "description": "Sort order in format 'fieldId,ASC' or 'fieldId,DESC'"
      },
      "subtables": {
        "type": "integer",
        "description": "Set to 0 to exclude subtable data, 1 to include",
        "enum": [
          0,
          1
        ]
      },
      "listing": {
        "type": "boolean",
        "description": "Only return fields shown on the listing page"
      },
      "info": {
        "type": "boolean",
        "description": "Include create date and user info with each record"
      },
      "naming": {
        "type": "string",
        "description": "Field naming convention in response: EID for numeric field IDs, FNAME for human-readable field names",
        "enum": [
          "EID",
          "FNAME"
        ]
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex"
    ]
  }
  ```
</Expandable>

***

## ragic\_mass\_approval

Mass approve or reject records

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                    |
| ------------ | ------- | -------- | ------- | ---------------------------------------------- |
| `path`       | string  | Yes      | —       | Folder path to the sheet                       |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index                             |
| `where`      | string  | No       | —       | Filter condition to target records             |
| `recordId`   | integer | No       | —       | Specific record ID to target                   |
| `action`     | string  | Yes      | —       | Whether to approve or reject records           |
| `comment`    | string  | No       | —       | Optional comment for the approval or rejection |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "where": {
        "type": "string",
        "description": "Filter condition to target records"
      },
      "recordId": {
        "type": "integer",
        "description": "Specific record ID to target"
      },
      "action": {
        "type": "string",
        "description": "Whether to approve or reject records",
        "enum": [
          "approve",
          "reject"
        ]
      },
      "comment": {
        "type": "string",
        "description": "Optional comment for the approval or rejection"
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "action"
    ]
  }
  ```
</Expandable>

***

## ragic\_mass\_lock

Mass lock or unlock records

**Parameters:**

| Parameter    | Type    | Required | Default | Description                                                          |
| ------------ | ------- | -------- | ------- | -------------------------------------------------------------------- |
| `path`       | string  | Yes      | —       | Folder path to the sheet                                             |
| `sheetIndex` | integer | Yes      | —       | Sheet number/index                                                   |
| `where`      | string  | No       | —       | Filter condition to target records (format: 'fieldId,operand,value') |
| `recordId`   | integer | No       | —       | Specific record ID to target                                         |
| `action`     | string  | Yes      | —       | Whether to lock or unlock records                                    |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "where": {
        "type": "string",
        "description": "Filter condition to target records (format: 'fieldId,operand,value')"
      },
      "recordId": {
        "type": "integer",
        "description": "Specific record ID to target"
      },
      "action": {
        "type": "string",
        "description": "Whether to lock or unlock records",
        "enum": [
          "lock",
          "unlock"
        ]
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "action"
    ]
  }
  ```
</Expandable>

***

## ragic\_mass\_search\_replace

Mass search and replace field values

**Parameters:**

| Parameter    | Type      | Required | Default | Description                        |
| ------------ | --------- | -------- | ------- | ---------------------------------- |
| `path`       | string    | Yes      | —       | Folder path to the sheet           |
| `sheetIndex` | integer   | Yes      | —       | Sheet number/index                 |
| `where`      | string    | No       | —       | Filter condition to target records |
| `recordId`   | integer   | No       | —       | Specific record ID to target       |
| `action`     | object\[] | Yes      | —       | Array of search/replace operations |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "where": {
        "type": "string",
        "description": "Filter condition to target records"
      },
      "recordId": {
        "type": "integer",
        "description": "Specific record ID to target"
      },
      "action": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "description": "Field ID to search in"
            },
            "valueReplaced": {
              "type": "string",
              "description": "Value to find"
            },
            "valueNew": {
              "type": "string",
              "description": "Replacement value"
            }
          },
          "required": [
            "field",
            "valueReplaced",
            "valueNew"
          ]
        },
        "description": "Array of search/replace operations"
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "action"
    ]
  }
  ```
</Expandable>

***

## ragic\_mass\_update

Mass update field values

**Parameters:**

| Parameter    | Type      | Required | Default | Description                                                |
| ------------ | --------- | -------- | ------- | ---------------------------------------------------------- |
| `path`       | string    | Yes      | —       | Folder path to the sheet                                   |
| `sheetIndex` | integer   | Yes      | —       | Sheet number/index                                         |
| `where`      | string    | No       | —       | Filter condition to target records                         |
| `recordId`   | integer   | No       | —       | Specific record ID to target                               |
| `action`     | object\[] | Yes      | —       | Array of field updates, each with a field ID and new value |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "where": {
        "type": "string",
        "description": "Filter condition to target records"
      },
      "recordId": {
        "type": "integer",
        "description": "Specific record ID to target"
      },
      "action": {
        "type": "array",
        "items": {
          "type": "object",
          "properties": {
            "field": {
              "type": "string",
              "description": "Field ID to update"
            },
            "value": {
              "type": "string",
              "description": "New value for the field"
            }
          },
          "required": [
            "field",
            "value"
          ]
        },
        "description": "Array of field updates, each with a field ID and new value"
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "action"
    ]
  }
  ```
</Expandable>

***

## ragic\_update\_record

Update a record

**Parameters:**

| Parameter      | Type    | Required | Default | Description                                                                          |
| -------------- | ------- | -------- | ------- | ------------------------------------------------------------------------------------ |
| `path`         | string  | Yes      | —       | Folder path to the sheet                                                             |
| `sheetIndex`   | integer | Yes      | —       | Sheet number/index                                                                   |
| `recordId`     | integer | Yes      | —       | Record ID to update                                                                  |
| `v`            | integer | No       | —       | API version                                                                          |
| `doFormula`    | boolean | No       | —       | Recalculate formulas after update                                                    |
| `doWorkflow`   | boolean | No       | —       | Execute workflow scripts                                                             |
| `notification` | boolean | No       | —       | Send notifications (default: true)                                                   |
| `checkLock`    | boolean | No       | —       | Check if record is locked before updating                                            |
| `body`         | object  | Yes      | —       | Field values to update. Keys are numeric field IDs, values are the new field values. |

<Expandable title="inputSchema">
  ```json theme={null}
  {
    "type": "object",
    "properties": {
      "PCID": {
        "type": "string",
        "description": "Pink Connect ID for the authenticated connection"
      },
      "path": {
        "type": "string",
        "description": "Folder path to the sheet"
      },
      "sheetIndex": {
        "type": "integer",
        "description": "Sheet number/index"
      },
      "recordId": {
        "type": "integer",
        "description": "Record ID to update"
      },
      "v": {
        "type": "integer",
        "description": "API version",
        "enum": [
          3
        ]
      },
      "doFormula": {
        "type": "boolean",
        "description": "Recalculate formulas after update"
      },
      "doWorkflow": {
        "type": "boolean",
        "description": "Execute workflow scripts"
      },
      "notification": {
        "type": "boolean",
        "description": "Send notifications (default: true)"
      },
      "checkLock": {
        "type": "boolean",
        "description": "Check if record is locked before updating"
      },
      "body": {
        "type": "object",
        "description": "Field values to update. Keys are numeric field IDs, values are the new field values."
      }
    },
    "required": [
      "PCID",
      "path",
      "sheetIndex",
      "recordId",
      "body"
    ]
  }
  ```
</Expandable>
