Sapling integration
Sapling is a language AI API. Check grammar and spelling with exact offsets, detect AI-generated text (in a text, a web page or an uploaded PDF, Word or other document), rephrase, simplify, summarize and translate, score sentiment, tone, writing quality and content safety, classify text into your own labels, extract typed fields and named entities, detect and redact personal data, analyze SEO, check inclusive language and house style rules, manage the account's dictionary, custom mappings, filters and style rule sets, and read usage reports. Most calls are billed per character. Health probes, the deprecated paraphrase route, the batch (texts) form and the per-request usage option are not exposed; team administration, SCIM and snippets have no route here. Authentication is a Sapling API key sent as a Bearer token.
Say what should happen.
The workflow builds itself.
What you can do with Sapling
Each of these is one operation on one endpoint, available both as a workflow step and as a tool an AI agent can call on its own. Nothing bundles several operations into one action, so what a run did stays readable afterwards.
Most endpoints run on the free plan. A few, mainly the ones that publish on your behalf, need a paid plan.
Ai detection, 5 operations
detect_ai_in_docxDetect ai in docxPOSTScores an uploaded Word (.docx) file for AI-generated text like detect_ai_text (first 200,000 characters), with sentence scores. Billed like detect_ai_text.detect_ai_in_fileDetect ai in filePOSTScores an uploaded document (.pdf, .docx, .pptx, .odt, .txt, .md, .html, up to 30MB) for AI-generated text like detect_ai_text (first 200,000 characters). Billed like detect_ai_text.detect_ai_in_pdfDetect ai in pdfPOSTScores an uploaded PDF for AI-generated text like detect_ai_text (first 200,000 characters), with sentence scores. Billed like detect_ai_text.detect_ai_in_urlDetect ai in urlPOSTFetches a public web page (or linked document) and scores how likely its main text is AI-generated, like detect_ai_text, plus source (final URL, title, characters scored). Pages that fail are errors.detect_ai_textDetect ai textPOSTScores how likely a text is AI-generated: score 0 (human) to 1 (AI), ai_fraction, verdict (human, mixed, ai), AI passages and per-sentence scores. Send 500+ characters of prose for a reliable score.
Usage report, 4 operations
get_endpoint_usageGet endpoint usagePOSTReturns characters processed per endpoint (EDIT, SPELLCHECK...), bucketed by Daily, Weekly or Monthly interval over a window of days before today.get_quota_usageGet quota usagePOSTReturns the key's monthly quota, characters used and suggestion accept and ignore counts over a window of days before today.get_usage_reportGet usage reportPOSTReturns characters processed and list-price cost over a window of days, broken down by masked API key, endpoint, day and month. Aggregates only; keys are never returned in raw form.get_user_activityGet user activityPOSTReturns edits shown, accepted and ignored and active-user counts (logged in, anonymous) over a window of days before today (default the last 6 days).
Custom filter, 3 operations
add_custom_filterAdd custom filterPOSTAdds a custom filter that suppresses grammar suggestions changing inp into out.delete_custom_filterDelete custom filterDELETEDeletes a custom filter by the id returned by list_custom_filters or add_custom_filter.list_custom_filtersList custom filtersGETLists the account's custom filters: rules that suppress a specific grammar suggestion (input changed to output).
Custom mapping, 3 operations
add_custom_mappingAdd custom mappingPOSTAdds a custom mapping: whenever entry appears in checked text, the grammar check suggests mapping.delete_custom_mappingDelete custom mappingDELETEDeletes a custom mapping by the id returned by list_custom_mappings or add_custom_mapping.list_custom_mappingsList custom mappingsGETLists the account's custom mappings: replacement rules (entry to mapping) suggested by the grammar check.
Dictionary entry, 3 operations
add_dictionary_entryAdd dictionary entryPOSTAdds a word the grammar and spelling checkers should accept as correct.delete_dictionary_entryDelete dictionary entryDELETEDeletes a dictionary entry by the id returned by list_dictionary_entries or add_dictionary_entry.list_dictionary_entriesList dictionary entriesGETLists the words the grammar and spelling checkers accept as correct for this account, sorted by entry.
Style ruleset, 3 operations
delete_style_rulesetDelete style rulesetDELETEDeletes a saved style-guide rule set by name.list_style_rulesetsList style rulesetsGETLists the style-guide rule sets saved for this account (or the key's team), usable by name as ruleset in check_style_guide.save_style_rulesetSave style rulesetPOSTCreates or replaces a named style-guide rule set (names match case-insensitively; up to 100 per account). Sending an existing name overwrites its rules.
Chunk, 2 operations
chunk_htmlChunk htmlPOSTSplits HTML into overlapping plain-text chunks no longer than max_length characters, discarding tags. Not billed.chunk_textChunk textPOSTSplits long text into overlapping chunks no longer than max_length characters, preferring sentence and whitespace boundaries. Not billed.
Completion, 2 operations
accept_completionAccept completionPOSTReports that the user accepted an autocomplete suggestion, so Sapling adapts over time. Use at most once per completion. context must be exactly the {query, completion} the hash was computed from.autocomplete_textAutocomplete textPOSTPredicts how a partially written sentence continues. Send the end of what the user typed as query (200 characters max). Needs an API key with autocomplete enabled. Pass the returned hash to accept_completion if used.
Document text, 2 operations
convert_docx_to_textConvert docx to textPOSTExtracts the text of an uploaded Word (.docx) file, tables included in document order. Not billed.convert_pdf_to_textConvert pdf to textPOSTExtracts the text of an uploaded PDF, with layout line breaks and hyphenation repaired. Image-only PDFs are refused (400). Not billed.
Edit feedback, 2 operations
accept_editAccept editPOSTReports that the user accepted a suggestion from check_grammar or spellcheck_text, to improve future suggestions. Include user_id or the feedback is not recorded. Use accept or reject once per edit.reject_editReject editPOSTReports that the user rejected a suggestion from check_grammar or spellcheck_text; the same edit is not suggested to that user again. Include user_id or the feedback is not recorded.
Field extraction, 2 operations
extract_fieldsExtract fieldsPOSTExtracts the fields you name (1 to 20) from unstructured text as typed values, each with the verbatim evidence span. data maps each field to its value, null when the text does not state it.extract_fields_from_fileExtract fields from filePOSTExtracts the fields you name from an uploaded document (.pdf, .docx, .pptx, .odt, .txt, .md, .html, up to 30MB) like extract_fields. Only the first 10,000 characters are read (document.truncated).
Summary, 2 operations
summarize_fileSummarize filePOSTSummarizes an uploaded document (.pdf, .docx, .pptx, .odt, .txt, .md, .html, up to 30MB) like summarize_text. Only the first 20,000 characters are read (document.truncated).summarize_textSummarize textPOSTSummarizes a long text, web page or email thread (HTML accepted): returns a prose summary and key_points, sized by length (short, medium, long).
Account status, 1 operation
get_account_statusGet account statusGETChecks whether this API key can make billable calls; if not, blocked_reason and retry_after say why and for how long. Also returns the month's quota and usage. Works even when the key is blocked.
Content safety, 1 operation
check_content_safetyCheck content safetyPOSTScores a text 0 to 1 on seven unsafe-content categories (toxicity, profanity, harassment, hate_speech, self_harm, sexual, violence) and flags those at or above threshold (0.5). spans=true returns the passages.
Grammar check, 1 operation
check_grammarCheck grammarPOSTChecks text for grammar, spelling and style issues and returns suggested edits with offsets and error types. auto_apply=true also returns applied_text, the corrected text. A degraded object means a partial result.
Inclusive language check, 1 operation
check_inclusive_languageCheck inclusive languagePOSTFinds non-inclusive or biased wording (gendered defaults, ableist idioms, ageist framing, outdated terms) with offsets, severity, a note and a neutral replacement. inclusive is true when nothing is flagged.
Language detection, 1 operation
detect_languageDetect languagePOSTDetects the language of a text: ISO 639-1 code, name, confidence, reliable (act on it only when true) and script. segments=true also detects each part of a mixed-language text.
Named entity, 1 operation
recognize_entitiesRecognize entitiesPOSTFinds named entities (people, organizations, locations, dates, times, money, percentages, quantities, products, events) with exact character offsets. Use detect_pii for emails, cards and other identifiers.
Pii detection, 1 operation
detect_piiDetect piiPOSTDetects personal data (emails, phones, US SSNs, card numbers, IP addresses, IBANs, US routing numbers) with offsets; redact=true also returns redacted_text. Names and addresses only when listed in types.
Profanity check, 1 operation
detect_profanityDetect profanityPOSTSplits text on whitespace and labels each token 1 (profane) or 0. Not billed.
Readability statistics, 1 operation
get_readability_statisticsGet readability statisticsPOSTComputes readability statistics for a text: grade-level scores (Flesch-Kincaid, Gunning fog, SMOG and others), reading time, and character, word and sentence counts.
Rephrase, 1 operation
rephrase_textRephrase textPOSTGenerates alternative phrasings of a text: paraphrase (default), formal or informal, active or passive, shorten, expand, split, switch tone or tense, title or acronym. num_results sets how many (default 5).
Sentence, 1 operation
split_sentencesSplit sentencesPOSTRewrites text by breaking run-on sentences into shorter ones. Input is limited to 400 characters.
Sentiment, 1 operation
analyze_sentimentAnalyze sentimentPOSTClassifies the sentiment of a text (POSITIVE, NEUTRAL or NEGATIVE), overall and per sentence, with probabilities.
Seo analysis, 1 operation
analyze_seoAnalyze seoPOSTAnalyzes an article for on-page SEO: stats, readability, target keyword density, top terms, plus suggested titles, meta descriptions, slug and keywords. suggestions=false gives the free stats-only analysis.
Similar term, 1 operation
find_similar_termsFind similar termsPOSTReturns synonyms (WordNet) and semantically similar terms for a word or short phrase (truncated to 100 characters).
Simplification, 1 operation
simplify_textSimplify textPOSTRewrites a text in plain language at a target reading level (plain, elementary, middle_school, high_school) keeping all content, with before and after readability. preserve_terms keeps names verbatim.
Spellcheck, 1 operation
spellcheck_textSpellcheck textPOSTChecks text for spelling errors only (no grammar or style) and returns word-level edits in the check_grammar format. Faster and cheaper than check_grammar. A degraded object means a partial result.
Style guide check, 1 operation
check_style_guideCheck style guidePOSTChecks a text against your style rules (inline rules, or the name of a saved ruleset; send exactly one) and returns violations with offsets, the rule, a note and a compliant rewrite. compliant is true when none.
Text classification, 1 operation
classify_textClassify textPOSTClassifies a text into labels you supply (2 to 20), with no training: returns the best label, the matching labels, a score per label and a one-sentence rationale. Set multi_label to allow several labels.
Tone, 1 operation
analyze_toneAnalyze tonePOSTClassifies the emotional tone of a text (for example friendly, curious, excited, confused, angry), overall and per sentence, with probabilities.
Translation, 1 operation
translate_textTranslate textPOSTTranslates a text into target_lang (ISO code or English name, region variants such as pt-BR or zh-TW) with an LLM, keeping line breaks and markup. Returns the translation and the detected source language.
Writing quality, 1 operation
score_writing_qualityScore writing qualityPOSTScores writing quality from 1 (poor) to 5 (excellent). sentence_scores=true adds per-sentence scores; rubric=true adds an LLM rubric (clarity, coherence, correctness, concision) billed at a higher rate.
Use Sapling from Claude Code, Cursor or Codex
Connect Sapling in LiveContext, create an API key in Settings, then add the LiveContext MCP server to your client. Its Sapling operations become tools the client can call, next to every other integration you connected.
claude mcp add --transport http livecontext https://livecontext.ai/mcp --header "X-API-Key: YOUR_API_KEY"[mcp_servers.livecontext]
url = "https://livecontext.ai/mcp"
[mcp_servers.livecontext.http_headers]
"X-API-Key" = "YOUR_API_KEY"{
"mcpServers": {
"livecontext": {
"type": "http",
"url": "https://livecontext.ai/mcp",
"headers": {
"X-API-Key": "YOUR_API_KEY"
}
}
}
}How to connect Sapling
- Create your workspace
Sign up free. Nothing to install.
- Connect Sapling once
Add your Sapling connection in Settings. Every tool from this integration reuses it, and secrets are encrypted at rest and visible only to you.
- Describe the job in chat
The workflow builds itself in front of you and picks the endpoints it needs. Drag the steps yourself on the canvas whenever you would rather be explicit.
Sapling integration FAQ
What can you do with the Sapling integration?
LiveContext exposes 54 operations on Sapling, covering ai detection, usage report, custom filter and custom mapping.
