{ "opencollection": "1.0.0", "info": { "name": "Rhythms (params in:body) access_requests documents API", "version": "1.0" }, "items": [ { "info": { "name": "documents", "type": "folder" }, "items": [ { "info": { "name": "List documents", "type": "http" }, "http": { "method": "GET", "url": "https://api.rhythms.ai/documents", "params": [ { "name": "page", "value": "", "type": "query", "description": "Page number for pagination (default: 1)" }, { "name": "per_page", "value": "", "type": "query", "description": "Number of records per page (default: 20, max: 100)" }, { "name": "limit", "value": "", "type": "query", "description": "Alias for per_page - number of records per page" }, { "name": "limit_max", "value": "", "type": "query", "description": "Maximum number of records per page (overrides limit if not set)" }, { "name": "count", "value": "", "type": "query", "description": "Set to 'true' to include total count in pagy metadata (data.pagy.count). Use for count/total queries instead of paginating through all pages." }, { "name": "explicitly_shared", "value": "", "type": "query", "description": "Filter to show only explicitly shared documents" }, { "name": "q", "value": "", "type": "query", "description": "Ransack query parameters for filtering. In query strings, use bracket notation: q[name_cont]=john&q[status_eq]=active&q[s]=name+asc. Keys are attribute names with predicates: _cont (contains), _eq (equals), _in (array membership), _gteq (>=), _lteq (<=), _present (not null), _null (is null). The \"s\" key sorts results (e.g., q[s]=created_at+desc). Example query string: ?q[name_cont]=john&q[s]=name+asc filters names containing \"john\" sorted by name ascending." } ] }, "docs": "Retrieves documents for the current tenant.\n\n\nThis endpoint supports filtering and pagination through query parameters. Available ransackable attributes: uuid, name, view_uuid, name, creator_uuid, layout_uuid, playbook_uuid, status, content_type, created_at, updated_at." }, { "info": { "name": "Create a new document", "type": "http" }, "http": { "method": "POST", "url": "https://api.rhythms.ai/documents", "body": { "type": "json", "data": "{}" } }, "docs": "Creates a new document or layout. Optionally base it on an existing layout." }, { "info": { "name": "Get a specific document", "type": "http" }, "http": { "method": "GET", "url": "https://api.rhythms.ai/documents/:uuid", "params": [ { "name": "uuid", "value": "", "type": "path", "description": "_" } ] }, "docs": "Retrieves a document with content fetched from Tiptap collaboration server. Falls back to database content if Tiptap is unavailable." }, { "info": { "name": "Update document properties", "type": "http" }, "http": { "method": "PUT", "url": "https://api.rhythms.ai/documents/:uuid", "params": [ { "name": "uuid", "value": "", "type": "path", "description": "_" } ], "body": { "type": "json", "data": "{}" } }, "docs": "Update document properties including status, name, instructions, and layout association.\n\nUse this endpoint to:\n- Update the document name\n- Update instructions\n- Change the document status (completed, draft, published, archived)\n- Associate the document with a layout (e.g., after saving a new layout from a custom document)\n\nAt least one parameter (name, instructions, status, or layout_uuid) must be provided.\n" }, { "info": { "name": "List a document's smart activity log", "type": "http" }, "http": { "method": "GET", "url": "https://api.rhythms.ai/documents/:uuid/activities", "params": [ { "name": "uuid", "value": "", "type": "path", "description": "_" }, { "name": "limit", "value": "", "type": "query", "description": "Max entries per page (default 100, newest first)" }, { "name": "page", "value": "", "type": "query", "description": "Page number (1-based) for older entries" }, { "name": "since", "value": "", "type": "query", "description": "ISO-8601 timestamp; only entries at or after this time are returned" } ] }, "docs": "Returns the grouped change/refresh activity entries for a document, newest first. Paginated via `limit`/`page` (default 100 newest); pass `since` (ISO-8601) to scope to recent activity (e.g. 'what changed in the last few days')." }, { "info": { "name": "Trigger an on-demand refresh of a document", "type": "http" }, "http": { "method": "POST", "url": "https://api.rhythms.ai/documents/:uuid/refresh", "params": [ { "name": "uuid", "value": "", "type": "path", "description": "_" } ] }, "docs": "Triggers an on-demand refresh of the target document. Opens an ephemeral\nChat::Thread, posts a refresh prompt, and kicks off the universal chat\nagent which invokes the `document_refresh` skill. Returns immediately\nwith a `thread_uuid` tracking handle; callers poll the thread or re-read\nthe document to see the refresh outcome.\n" } ] } ], "bundled": true }