Routes

All routes live under /api; request encoding is in HTTP conventions. Replace <guid> with the 36-character document id and <w> with the zero-based worksheet index; when <w> is omitted the first worksheet is used. Extension routes exist only when that extension is registered.

Global actions

Documents

POST   /api/create                       Create a spreadsheet (config as a JSON string field)
GET    /api/list                         Documents owned by the token's user (intrasheets extension)

AI chats

GET    /api/chats                        The user's AI chat sessions (agent extension)

Profile

GET    /api/profile                      The user's profile (intrasheets extension)
POST   /api/profile                      Update the user's profile (name, email, model)

Document routes

Document configuration

GET    /api/<guid>                       Full document configuration (all worksheets)
DELETE /api/<guid>                       Destroy the document (broadcasts forceRefresh, disconnects its sockets)
GET    /api/<guid>/<w>                   Configuration of one worksheet
POST   /api/<guid>/name                  Rename the document (owner only)

Users

Provided by the intrasheets extension; all three are owner-only.

GET    /api/<guid>/users                 Invited users
POST   /api/<guid>/users                 Invite users (data: JSON array of objects with an email)
DELETE /api/<guid>/users/<email>         Remove an invited user

History, privacy and images

History and images require the S3 configuration; history routes are owner-only.

GET    /api/<guid>/history               List snapshots
GET    /api/<guid>/history/<version>     Fetch one snapshot's configuration
POST   /api/<guid>/history               Create a snapshot
POST   /api/<guid>/history/<version>     Restore a snapshot (backs up the current state first)
DELETE /api/<guid>/history/<version>     Delete a snapshot
POST   /api/<guid>/privacy               Set the privacy flag (privacy=1 or 0)
GET    /api/<guid>/images/<filename>     Fetch a stored image

AI chat

Provided by the agent extension.

GET    /api/<guid>/prompt                AI chat messages (?session=<id>, ?list=1 to list sessions)
POST   /api/<guid>/prompt                Send a prompt, streams the response (SSE)
DELETE /api/<guid>/prompt?session=<id>   Delete a chat session
GET    /api/<guid>/usage                 Accumulated AI token usage on this document

Worksheet modules

GET reads, POST/DELETE change; methods not listed return 404.

Data and values

GET    /api/<guid>/<w>/data              Full data matrix
POST   /api/<guid>/<w>/data              Set data (array of rows, or objects with row and data)
GET    /api/<guid>/<w>/value/A1,B2       Values by cell list or range (A1:E10)
POST   /api/<guid>/<w>/value             Set values (data: array of { x, y, value })

Rows and columns

POST   /api/<guid>/<w>/rows/insert       Insert rows          (also /rows/move, /rows/show, /rows/hide)
DELETE /api/<guid>/<w>/rows/<list>       Delete rows          (also /rows/<start>/<count>)
POST   /api/<guid>/<w>/columns/insert    Insert columns       (also /columns/move, /columns/show, /columns/hide)
DELETE /api/<guid>/<w>/columns/<list>    Delete columns

Configuration

GET    /api/<guid>/thumbnail             Document thumbnail (data URL)   POST to set (data), DELETE to clear
GET    /api/<guid>/<w>/config            Worksheet configuration (also /config/<prop,prop> for selected properties)
POST   /api/<guid>/<w>/config            Update configuration properties

Formatting

GET    /api/<guid>/<w>/style             All styles (?indexes=true), or /style/<cells> for specific cells
POST   /api/<guid>/<w>/style             Set styles           DELETE /style/<cells> to reset them
GET    /api/<guid>/<w>/meta              Meta information, or /meta/<cells>
POST   /api/<guid>/<w>/meta              Set meta             DELETE /meta or /meta/<cells> to reset
GET    /api/<guid>/<w>/comments          Comments, or /comments/<cells>
POST   /api/<guid>/<w>/comments          Set comments
GET    /api/<guid>/<w>/merge             Merged cells, or /merge/<cells>
POST   /api/<guid>/<w>/merge             Set merges           DELETE /merge (all) or /merge/<cells>

Headers and footers

GET    /api/<guid>/<w>/header            Headers, or /header/<columns>
POST   /api/<guid>/<w>/header            Set a header (column, title)
POST   /api/<guid>/<w>/nested            Set nested headers   (also /nested/update; DELETE /nested to reset)
GET    /api/<guid>/<w>/footers           Footers
POST   /api/<guid>/<w>/footers           Set footers          (also /footers/value; DELETE /footers to reset)

Structure

GET    /api/<guid>/<w>/width             Column widths, or /width/<columns>     POST to set
GET    /api/<guid>/<w>/height            Row heights, or /height/<rows>         POST to set
POST   /api/<guid>/<w>/freeze/rows       Set frozen rows      (also /freeze/columns)
POST   /api/<guid>/<w>/group/rows        Set a row group      (also /group/columns)
GET    /api/<guid>/<w>/table             Tables, or /table/<name>
POST   /api/<guid>/<w>/table             Create or replace a table (data)   DELETE /table/<name> to reset it

Sorting, properties and validations

POST   /api/<guid>/<w>/order             Sort by a column (columnNumber, direction) or by levels ([{ column, direction }])
GET    /api/<guid>/<w>/properties/<c>    Column properties    (also /properties/<c>/<r> for one cell)
POST   /api/<guid>/<w>/properties        Set properties       (also /properties/update to merge)
GET    /api/<guid>/<w>/definedNames      Defined names        POST to set; DELETE /definedNames/<names>
GET    /api/<guid>/<w>/validations       Validations          POST to set

Media

POST   /api/<guid>/<w>/media             Set charts and images

Worksheet management

POST   /api/<guid>/<w>/worksheet         Create a worksheet   (also /worksheet/move, /worksheet/rename)
DELETE /api/<guid>/<w>/worksheet/<index> Delete a worksheet

Formify

Self-authorized: these routes skip the server auth hooks and respond only for worksheets with a formify configuration. The worksheet index is required in the path.

GET    /api/<guid>/<w>/formify           HTML page embedding the public form
GET    /api/<guid>/<w>/formify/config    Form configuration (declared columns)
POST   /api/<guid>/<w>/formify           Public form submission (inserts one row, restricted to the form columns)

Parameters and responses are documented on each module's page: Rows, Data, Values, and the rest of the sidebar.