Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Revise

REMOTE · MCP.REVISE.IO · SCANNED AUG 3

Collaborative word processor you can use with your agent.

Available components

+5 this week 76 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security83
  • The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
  • Authorisation is enforced on tool calls, advertised via RFC 9728 protected-resource metadata. Discovery is public, which costs nothing: no tool can be invoked without a token. View diagnostics → Pass
  • HTTPS not yet verified: we couldn't determine whether a plaintext access path exists. View diagnostics → Unverified
  • The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
  • DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
  • The authorisation server offers only Dynamic Client Registration (RFC 7591), which MCP 2026-07-28 deprecated in favour of Client ID Metadata Documents. View diagnostics → Partial
Transport & Reachability100
Schema Quality & AI Usability72
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 4157 tokens (~218/item across 19 items; 18 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage97
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 88% of tool parameters carry a description.Partial
  • Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · mcp.revise.io

# add to Claude Code
claude mcp add --transport http io-revise-mcp-server https://mcp.revise.io/mcp
# ~/.codex/config.toml
[mcp_servers.io-revise-mcp-server]
url = "https://mcp.revise.io/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "io-revise-mcp-server": {
      "type": "remote",
      "url": "https://mcp.revise.io/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add io-revise-mcp-server --url https://mcp.revise.io/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  io-revise-mcp-server:
    url: "https://mcp.revise.io/mcp"
// mcp.json
{
  "mcpServers": {
    "io-revise-mcp-server": {
      "type": "http",
      "url": "https://mcp.revise.io/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 3 Aug 26 0
    • New tool “clean_document”, which the server declares destructive security
    • Tool “leave_comment” rewrote its description, which is the text the model reads security
    • Schema quality: 3711 → 4157 functional
    • “set_page_layout” added an optional parameter “line_numbering” cosmetic
    • “set_page_layout” added an optional parameter “watermark” cosmetic
    • “leave_comment” added an optional parameter “acknowledge_existing_thread_ids” cosmetic
  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +4
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 −1
    • The server rewrote its instructions, which are the text every model session reads security
    • Tool “edit_document” rewrote its description, which is the text the model reads security
    • Tool “export_document” rewrote its description, which is the text the model reads security
    • Tool “read_document” rewrote its description, which is the text the model reads security
    • Schema quality: 168 → 206 functional
    • Schema quality: excellent → good functional
    • New tool “leave_comment” functional
    • New tool “style_blocks” functional
    • “read_document” added an optional parameter “start_block” cosmetic
    • “edit_document” reworded the description of “mode” cosmetic
    • “insert_footnote” reworded the description of “mode” cosmetic
  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 71

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://mcp.revise.io/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=mcp.revise.io CN=Amazon RSA 2048 M04,O=Amazon,C=US 13 Jun 2026 27 Dec 2026 RSA 2048 SHA256-RSA 557176ae939d31fe26e80ce97fb1ef6
SANs: mcp.revise.io
CN=Amazon RSA 2048 M04,O=Amazon,C=US (CA) CN=Amazon Root CA 1,O=Amazon,C=US 23 Aug 2022 23 Aug 2030 RSA 2048 SHA256-RSA 773124f2a952e3ed18a58bdb85d1bc0ce5f27
CN=Amazon Root CA 1,O=Amazon,C=US (CA) CN=Starfield Services Root Certificate Authority - G2,O=Starfield Technologies\, Inc.,L=Scottsdale,ST=Arizona,C=US 25 May 2015 31 Dec 2037 RSA 2048 SHA256-RSA 67f944a2a27cdf3fac2ae2b01f908eeb9c4c6
DNSSEC insecure

Validation of mcp.revise.io. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
io. present 57355 8 Verified
revise.io. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer error="invalid_token", resource_metadata="https://mcp.revise.io/.well-known/oauth-protected-resource", scope="docs:read docs:write docs:share"

Bearer error="invalid_token", resource_metadata="https://mcp.revise.io/.well-known/oauth-protected-resource", scope="docs:read docs:write docs:share"
Header Value
strict-transport-security max-age=31536000; includeSubDomains
content-security-policy default-src 'none'; frame-ancestors 'none'; base-uri 'none'; form-action 'none'
x-content-type-options nosniff
x-frame-options DENY
referrer-policy no-referrer

Protected resource metadata

Document https://mcp.revise.io/.well-known/oauth-protected-resource
Retrieved Yes
Resource https://mcp.revise.io/mcp
Authorisation server https://api.revise.io
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.revise.io/mcp Verified 200
http (plaintext) http://mcp.revise.io/mcp Inconclusive 405
MCP tools — 18 exposed · ~3,534 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
clean_document ~243

Scrub a document before it is shared externally ("clean this document before I send it"): remove comments, resolve ALL pending tracked-change suggestions (accept or reject — everyone's, not just yours), remove hidden text (Word w:vanish), anonymize revision/comment author names to "Author", and clear document properties (title/author/company metadata from the original file). Destructive and not undoable — confirm with the user before running it. Options all default to off; enable only what the user asked to strip. Returns a summary of what was removed.

NameTypeReqDescription
anonymize_authorsbooleanReplace suggestion and comment author identities with "Author"
clear_core_propertiesbooleanWipe document properties (author, title, company, created/modified dates)
idstringyesDocument ID
remove_commentsbooleanRemove all comment threads and their anchors
remove_hidden_textbooleanRemove hidden (invisible-in-Word) text spans; footnote/endnote numerals are kept
resolve_suggestionsstringResolve ALL pending suggestions: accept applies them, reject reverts them; omit to leave them pending
NameTypeReqDescription
authorsAnonymizedintegeryesDistinct author identities replaced with "Author"
commentsRemovedintegeryesDistinct comment threads removed
corePropsClearedbooleanyesWhether document properties (docProps/core.xml) were wiped
hiddenRemovedintegeryesHidden text spans removed (note-reference numerals are kept)
statusstringyesScrub outcome
suggestionsResolvedintegeryesDistinct pending suggestions resolved

No examples provided.

create_document ~145

Create a Revise document without a Revise account, seeded with markdown. Returns: url (give this to your user — they open it to view the document and create a free account to keep it, in one step) and edit_token (keep it; use it as your Authorization Bearer token in future requests to read and edit this document). The document is private and deleted after 7 days if unclaimed.

NameTypeReqDescription
content_markdownstringInitial content as markdown
created_bystringYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.
titlestringyesDocument title
NameTypeReqDescription
edit_tokenstringyesBearer token scoped to this document for future read/edit calls
idstringyesDocument ID
notesstringyesHuman-facing claim and retention notes
titlestringyesDocument title
unlock_morestringyesAgent-facing guidance for authenticating to unlock more tools
urlstringyesEditor URL

No examples provided.

edit_document ~222

Apply targeted edits to a document using Markdown or HTML content. Edits land as pending tracked changes ("suggest" mode) that the owner reviews and accepts or rejects in the editor — this is the default and the right choice unless your user explicitly asks for direct edits. Pass mode "apply" only on explicit instruction (e.g. "apply it directly", "don't leave suggestions"); it writes immediately with no review step, recorded in the revision history. One exception needs no instruction: on a short/new document (under 20 words) the default is already "apply", since there is nothing meaningful to review. Get block ids from read_document with with_block_ids: true.

NameTypeReqDescription
editsarrayyesEdits to perform, in order
idstringyesDocument ID
modestringOmit for the default: suggest (tracked changes) on documents with 20+ words, apply on shorter ones. Choose "apply" on a substantial document only when your user explicitly asked for direct edits with…
NameTypeReqDescription
acceptedChangeRegionsintegerChange regions accepted immediately
editsRequestedintegerRequested edit count
notestringReview guidance
pendingSuggestionIdsarrayTracked-change suggestion IDs
statusstringyesWhether edits were suggested or directly applied

No examples provided.

export_document ~83

Export a document by id to markdown, txt, html, docx, pdf. Markdown is returned inline. Every other format (txt, html, docx, pdf) is hosted at a temporary download URL (expires in ~24h) returned in the response, not streamed back inline.

NameTypeReqDescription
formatstringyes
idstringyesDocument ID
NameTypeReqDescription
bytesintegerHosted file byte length
contentstringInline exported text content
download_urlstringTemporary download URL
formatstringyesExport format
idstringyesDocument ID
notesstringDownload expiry notes
statusstringyesExport status

No examples provided.

get_document_info ~37

Get a document's metadata: title, sharing state, URLs, timestamps, and word count.

NameTypeReqDescription
idstringyesDocument ID
NameTypeReqDescription
blocksintegeryesTop-level block count
createdAtCreation timestamp from the Revise API
idstringyesDocument ID
isOwnerbooleanyesWhether the current user owns the document
isPublicbooleanyesWhether the document is publicly shared
pagesyesRendered page count, or null in pageless mode
publicUrlyesPublic URL, when enabled
readOnlybooleanyesWhether the current user has read-only access
titlestringyesDocument title
updatedAtLast update timestamp from the Revise API
urlstringyesEditor URL
wordsintegeryesWord count

No examples provided.

get_document_outline ~46

Get a document's heading outline with block ids and per-section word counts. Cheap way to orient in a long document before reading specific sections.

NameTypeReqDescription
idstringyesDocument ID
NameTypeReqDescription
blocksintegeryesTop-level block count
sectionsarrayyes
titleyesDocument title
totalWordsintegeryesTotal word count

No examples provided.

get_recent_changes ~103

See what changed in a document since YOU last looked at it — e.g. edits the human (or another collaborator) made in between. Returns added, removed, and changed blocks (with block ids), all in the accepted/projected state. Great for catching up before continuing work ("how does it look now?"). The first call on a document just establishes a baseline. Each call advances your baseline to the current state.

NameTypeReqDescription
idstringyesDocument ID
NameTypeReqDescription
addedarrayAdded blocks
baselineEstablishedbooleanTrue when this first call only established a baseline
changedarrayChanged blocks
notestringResult note or truncation guidance
removedarrayRemoved blocks
sinceISO timestamp for the previous baseline
summaryobjectExact changed-block counts

No examples provided.

import_document ~230

Create a Revise document from a file at a public http(s) URL (.md, .markdown, .txt, .html, .htm, .docx, .rtf, .odt; PDFs/images not yet supported). The server fetches the URL — file bytes are never passed inline. For a LOCAL file, use upload_document instead (it streams the file to the server). Returns the new document id and URL. Returns url (give it to your user — they view the document and create a free account to keep it, in one step) and edit_token (your Bearer token for future edits). The document is private and deleted after 7 days if unclaimed.

NameTypeReqDescription
created_bystringYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.
filenamestringFilename override — its extension selects the converter (otherwise taken from the URL)
titlestringDocument title
urlstringyesPublic http(s) URL of the file for the server to fetch
NameTypeReqDescription
edit_tokenstringyesBearer token scoped to this document for future read/edit calls
idstringyesDocument ID
notesstringyesHuman-facing claim and retention notes
titlestringyesDocument title
unlock_morestringyesAgent-facing guidance for authenticating to unlock more tools
urlstringyesEditor URL

No examples provided.

insert_footnote ~289

Insert a footnote: a numbered superscript reference placed immediately after the anchor text inside a paragraph, plus the footnote body (shown at the bottom of the page, or as an endnote in pageless documents). On substantial documents this lands as a pending tracked change by default, like edit_document. Footnote bodies appear in read_document as [^n]: definitions with their own block ids — edit or remove them with the normal editing tools (removing a footnote body also removes its reference, and vice versa).

NameTypeReqDescription
block_idstringyesParagraph block that gets the reference (from read_document with_block_ids)
findstringyesAnchor text inside the block; the reference is inserted right after it. Pass an empty string to append at the end of the block.
idstringyesDocument ID
kindstringNote stream: footnote (per-page bottom area, numbered 1,2,3 — default) or endnote (grouped on its own page at the document end, numbered i,ii,iii)
modestringOmit for the default: suggest (pending tracked change) on documents with 20+ words, apply on shorter ones. Choose "apply" on a substantial document only when your user explicitly asked for direct edi…
textstringyesFootnote body text
NameTypeReqDescription
footnote_block_idstringBlock id of the footnote body (editable with block tools)
footnote_labelstringDisplay label as it appears in the text: arabic for footnotes, lowercase roman for endnotes
footnote_numberintegerPer-stream index of the new note
statusstringyesinserted directly, or left as a pending tracked change
suggestion_idstringPending suggestion id when status is suggested

No examples provided.

leave_comment ~493

Leave a review comment in a document WITHOUT changing its text — either a new thread anchored to one block, or a reply to an existing thread. Comments appear in the editor's margin attributed to you, where the owner can reply or resolve. Prefer this for passage-specific critique or questions; to propose an actual text change, use edit_document in "suggest" mode instead. To START a thread: target one block (from read_document with_block_ids: true) and exactly one anchor form — anchor_text (short text occurring exactly once in the block), anchor_start_text + anchor_end_text (boundaries of a longer range, without reproducing it), or whole_block: true (structural or empty blocks). To REPLY: pass reply_to_comment_id (a comment id from a <comment-thread> element in read_document format "html", or from an earlier leave_comment result) and no block/anchor fields. Text that already carries an unresolved <comment-thread> is already under discussion: reply to that thread rather than starting a second one over the same words, which is rejected unless you pass acknowledge_existing_thread_ids.

NameTypeReqDescription
acknowledge_existing_thread_idsarrayOnly for a NEW thread that deliberately overlaps existing unresolved threads: list their ids to confirm you read them and are raising a genuinely different point. Without this, a new thread over text…
anchor_end_textstringExact text at the end of that range (pair with anchor_start_text)
anchor_start_textstringExact text at the start of a longer range (pair with anchor_end_text)
anchor_textstringShort exact text that occurs exactly once in the block; the comment anchors to it
block_idstringTarget block for a NEW thread (from read_document with_block_ids: true). Required unless replying.
commentstringyesComment body (Markdown)
idstringyesDocument ID
reply_to_comment_idstringReply to an existing thread instead of starting a new one: any comment id in the thread (the reply attaches to the thread root). Omit block_id and anchors when replying.
whole_blockbooleanAnchor to the entire block instead of a text range (structural or empty blocks)
NameTypeReqDescription
anchored_text_rangeobjectAnchored character range within the block (text anchors only)
block_idstringBlock the comment is anchored to (new threads only)
comment_idstringyesID of the new comment or reply
notestringReview guidance
statusstringyescommented: new thread started; replied: reply added to an existing thread
thread_idstringRoot comment id of the thread a reply was added to

No examples provided.

read_document ~355

Read a Revise document's content. Format "markdown" (default) is the simple dialect — best for plain prose; set with_block_ids to true to interleave <!-- block:xxxxxx --> anchors usable with edit_document. Format "html" is the full-fidelity dialect: compact HTML-like markup with a block id on every element plus everything markdown cannot express — rich marks, <latex> math, code block languages, merged table cells, page layout, and each comment thread inline as a <comment-thread transcript="..."> wrapper around its anchored text. Prefer html when a document uses rich features or has comments; edit_document accepts the same dialect in replacements. "text" is plain text. (For a styled, self-contained HTML file, use export_document instead.) view controls how pending tracked-change suggestions read: "final" (default, as if accepted) or "original" (as if rejected). Long documents are paginated: when a read exceeds the character budget it is cut at a block boundary and the response carries truncated: true, next_start_block, and a ready-to-run example call — repeat with start_block to continue. For a targeted read of a large document, prefer get_document_outline + search_within_document over paging through everything.

NameTypeReqDescription
formatstring
idstringyesDocument ID
start_blockinteger0-based top-level block index to start reading from (default 0). Use the previous response's next_start_block to continue a paginated read.
viewstringProjection of pending suggestions: final = accepted (default), original = rejected
with_block_idsbooleanInterleave block id anchors (markdown format only)
NameTypeReqDescription
blocks_includedintegerTop-level blocks included in this page
contentstringyesDocument content in the requested format
formatstringyesReturned format
idstringyesDocument ID
next_start_blockintegerPass as start_block to read the next page
notestringPagination guidance
start_blockintegerFirst top-level block index included in this page
total_blocksintegerTotal top-level blocks in the document
truncatedbooleanTrue when the read was cut at a block boundary
with_block_idsbooleanWhether markdown block anchors were included

No examples provided.

rename_document ~33

Change a document's title.

NameTypeReqDescription
idstringyesDocument ID
titlestringyesNew document title
NameTypeReqDescription
statusstringyesRename status
titlestringyesNew title

No examples provided.

replace_document_content ~69

Replace the ENTIRE content of a document with new markdown. Destructive: existing content is removed (it remains recoverable via the document's revision history). Prefer edit_document for targeted changes.

NameTypeReqDescription
content_markdownstringyesNew full document content
idstringyesDocument ID
NameTypeReqDescription
blocksintegeryesNumber of blocks in the new content
statusstringyesReplacement status

No examples provided.

resolve_suggestions ~218

Accept or reject the tracked-change suggestions YOU made on a document — only your own, never the user's edits or another agent's suggestions. Use this when the user approves your suggested changes (e.g. they say "lgtm" / "looks good") to apply them on their behalf, or asks you to withdraw them. Covers the whole document by default; pass block_ids to limit to specific blocks. (Edits made with edit_document in "apply" mode are already applied — this is for edits left as suggestions in "suggest" mode.)

NameTypeReqDescription
actionstringyesaccept: apply your suggested changes; reject: withdraw them
block_idsarrayLimit to suggestions in these blocks (from read_document with_block_ids); omit to review the whole document
idstringyesDocument ID
kindstringLimit to one kind of change (Word-style review filter): insert = added text/blocks, delete = removed text/blocks, format = formatting-only changes; omit for all kinds
NameTypeReqDescription
notestringWhy no suggestions were resolved
resolvedChangeRegionsintegerResolved change-region count
statusstringyesSuggestion resolution outcome

No examples provided.

search_within_document ~95

Find where a query matches inside one document. Returns the matching blocks as markdown with <!-- block:xxxxxx --> anchors (usable with edit_document), each with a few neighboring blocks for context. Case-insensitive.

NameTypeReqDescription
context_blocksintegerNeighboring blocks to include on each side (default 2)
idstringyesDocument ID
querystringyesText to find (case-insensitive)
NameTypeReqDescription
groupsarrayContext groups containing matches
notestringResult note or truncation guidance
querystringyesSearch query
returnedMatchingBlocksintegerNumber of matching blocks returned in this response
totalMatchingBlocksintegeryesMatching block count

No examples provided.

set_page_layout ~406

Set a document's page layout: page size, orientation, margins, page numbers, line/paragraph spacing, pageless mode, or the APA-7 preset. Length values are strings with explicit units (e.g. "1in", "2.54cm", "72px").

NameTypeReqDescription
block_spacingstringVertical spacing between blocks, e.g. "0.125in"
idstringyesDocument ID
line_numberingWord-style line numbering in the left margin (pleading paper). Pass an object (possibly empty) to enable, null to disable
marginstringUniform margin for all sides, e.g. "1in"
margin_bottomstring
margin_leftstring
margin_rightstring
margin_topstring
note_modestringBulk-convert every note in the document to this stream: footnotes (per-page bottom areas, numbered 1,2,3) or endnotes (grouped on their own page at the end, numbered i,ii,iii). Individual notes choos…
orientationstring
page_number_positionstring
page_number_startinteger
page_sizestringNamed page size
pagelessbooleanEnable pageless (continuous) mode
presetstringLayout preset applied before other overrides
show_page_numbersbooleanShow/hide page numbers (managed as an automatic header/footer page-number field slot; hand-authored header/footer content is never overwritten)
watermarkDiagonal page watermark text painted on every page, e.g. "DRAFT" or "CONFIDENTIAL". Also accepts a JSON settings string {text, color?, opacity?, diagonal?, fontSizePx?}. Pass "" or null to remove the…
NameTypeReqDescription
appliedobjectyesApplied layout settings
statusstringyesLayout update status

No examples provided.

style_blocks ~277

Style existing content with forgiving CSS-lite selectors and values. Use this for bulk formatting instead of rewriting text. Block selectors include *, #blockId, p, h1-h6, li, lists, tables, and descendants. Inline selectors such as b/strong, i/em, u, s/strike/del, code, sup, sub, mark, and a target only matching formatted text ranges. Examples: set the entire document to Georgia with selectors="*" and attrs=[{"name":"fontFamily","value":"Georgia"}]; bold headings with selectors=["h1","h2","h3"] and attrs=[{"name":"fontWeight","value":"bold"}]. Formatting lands as pending tracked changes by default on substantial documents.

NameTypeReqDescription
attrsarrayyesStyle attributes to set
idstringyesDocument ID
modestringOmit for the default: suggest (tracked formatting changes) on documents with 20+ words, apply on shorter ones. Choose "apply" on a substantial document only when the user explicitly asks for direct f…
selectorsyesCSS-lite selectors: *, #blockId, p, h1-h6, li, ul, ol, pre, latex, img, table, tr, td/th, div, inline formatting tags, descendants, and :nth-child(n)
NameTypeReqDescription
acceptedChangeRegionsintegerFormatting change regions accepted immediately
attributesRequestedintegeryesNumber of style attributes in the request
notestringReview guidance
pendingSuggestionIdsarrayTracked formatting suggestion IDs
selectorsRequestedintegeryesNumber of selectors in the request
statusstringyesWhether formatting was suggested or directly applied

No examples provided.

upload_document ~190

Create a Revise document from a LOCAL file (docx, md, txt, html; PDFs/images not yet supported) without a Revise account and without putting its bytes in your context. Returns a one-time upload_url and a ready-to-run curl command — run the curl to stream the file. The curl response contains url (give it to your user — they view the document and create a free account to keep it, in one step) and edit_token (your Bearer token for future edits). For a public http(s) URL or a tiny inline file, use import_document instead. The document is private and deleted after 7 days if unclaimed.

NameTypeReqDescription
created_bystringYour name (e.g. "Codex", "Claude") so the user sees who made the document. Recommended.
filenamestringyesThe file's name (its extension selects the converter)
NameTypeReqDescription
curlstringyesReady-to-run curl command for the upload
expires_inintegeryesSeconds until the upload URL expires
nextstringyesWhat to do after reserving the upload
upload_urlstringyesOne-time upload endpoint

No examples provided.