--- name: grist-reference description: Grist API reference documentation for the grist-mcp-server project. Use when implementing or modifying Grist MCP tools, working with Grist cell values, UserActions, column types, widget options, database schema, or pages/widgets. This skill provides authoritative API specifications. --- # Grist API Reference This skill provides comprehensive Grist API documentation for developing the grist-mcp-server. ## Quick Reference | Task | Reference File | |------|----------------| | REST API endpoints | `grist-api.yml` | | TypeScript types, CellValue encoding | `grist-api.d.ts` | | Metadata tables, column definitions | `grist-database-schema.md` | | Pages, widgets, layouts, linking | `grist-pages-widgets.md` | | Apply endpoint, response verification | `grist-apply-endpoint.md` | ## Reference Files ### grist-api.yml (~2100 lines) OpenAPI 3.0 specification for the Grist REST API. **Grep patterns:** - `paths:` - API endpoints - `components/schemas` - Data schemas - `CellValue` - Cell value encoding - `UserAction` - User action format **Use for:** Endpoint parameters, request/response schemas, authentication ### grist-api.d.ts (~2030 lines) Complete TypeScript type definitions for Grist API. **Grep patterns:** - `type.*Value` - Cell value types (RefValue, DateValue, etc.) - `interface.*Options` - Widget options interfaces - `UserAction` - UserAction type definitions - `GristObjCode` - Encoding codes (L, D, R, etc.) - `PERMISSION` - Permission system reference **Use for:** Type definitions, cell value encoding, widget options format ### grist-database-schema.md (~573 lines) Grist metadata tables and database structure. **Key sections:** - `_grist_Tables` - Table definitions - `_grist_Tables_column` - Column schema - `_grist_Views_section` - Widget definitions - `_grist_ACLRules` - Access control **Use for:** Understanding metadata structure, foreign key relationships ### grist-pages-widgets.md (~658 lines) Practical guide for pages (views) and widgets (view sections). **Key sections:** - `CreateViewSection` - Widget creation action - `Layout Structure` - layoutSpec JSON format - `Widget Linking` - linkSrcSectionRef, linkSrcColRef - `Sorting` - sortColRefs format - `Filtering` - _grist_Filters table **Use for:** Page/widget creation, layout configuration, widget linking ### grist-apply-endpoint.md (~490 lines) Guide for verifying actions via `/apply` endpoint. **Key sections:** - `ApplyUAResult` - Response structure - `retValues` - Return value verification - `Error Handling` - Error response formats - `Best Practices` - Safe access patterns **Use for:** Validating action results, error handling patterns ## Common Tasks **Implementing a new tool:** 1. Load `grist-api.yml` for endpoint schema 2. Load `grist-api.d.ts` for TypeScript types **Working with cell values:** 1. Load `grist-api.d.ts` - search for `GristObjCode` and `CellValue` **Creating pages/widgets:** 1. Load `grist-pages-widgets.md` for CreateViewSection and layout format **Understanding metadata tables:** 1. Load `grist-database-schema.md` for table schemas **Handling apply endpoint responses:** 1. Load `grist-apply-endpoint.md` for response verification