Clment for developers
Build on Clment
Everything you do in the app — upload a contract, run an AI review against a rulebook, generate a redline, track key dates — is available over a REST API, a remote MCP server for AI agents, and outbound webhooks. Build against the same contract workspace your team uses.
Official SDKs
Typed clients for the same REST API, in three languages. Every type comes from the OpenAPI document, so none of them can quietly drift from the API they call.
TypeScript
Recommended for TypeScript & JavaScriptnpm install @clment/sdk Hand-written over generated types, with no dependencies. Region is an explicit argument rather than a URL you assemble, because a valid key sent to the wrong region fails exactly like an invalid one — and the error says so.
- SDK guide — uploads, reviews, redlines, errors, pagination
- @clment/sdk on npm
- Node 20+, Bun, Deno and edge runtimes. ESM + CommonJS + .d.ts.
.NET
C# and F#dotnet add package Clment.Sdk Generated from the OpenAPI document, so it cannot drift from the API it calls. Set Configuration.AccessToken and BasePath for your region; there is no per-request timeout, so raise Configuration.Timeout before a long AI call.
Python
Python 3.10+pip install clment-sdk Generated from the same document. Note one inherited behaviour: urllib3 retries a 429 three times, honouring Retry-After, before your code sees it — set configuration.retries = 0 if you would rather handle rate limits yourself.
- SDK guide — uploads, reviews, redlines, errors, pagination
- clment-sdk on PyPI
- Python 3.10+, pydantic models throughout.
Typed end to end
Parameters, bodies and responses come from the spec. Change the API and a stale call stops compiling.
Jobs are the shape
Uploads, reviews and redlines run in the background. TypeScript polls for you with
waitFor…; the generated
clients hand you the job id to poll yourself.
Errors you can branch on
Status, a stable code and the body — plus rate-limit headers on successful responses, so you can slow down before you are throttled rather than after.
REST API
Contracts, reviews, rulebooks, key dates, search, and PDF→Word conversion over plain HTTPS and JSON.
AI agents (MCP)
A remote Model Context Protocol server lets Claude and other MCP clients work in your contract workspace, authenticated with OAuth.
- Connect Claude & other clients
- Endpoint:
https://api-<region>.clment.com/v1/mcp - OAuth 2.1 — PKCE + dynamic client registration. Scopes
read,read_write.
Webhooks
Subscribe to events — uploads, classifications, completed reviews, generated redlines — delivered with an HMAC-SHA256 signature.
Before you start
Authentication
Create an API key in Settings → API & Integrations and send it as
Authorization: Bearer clm_sk_live_….
API access is available on all paid plans.
Regions & data residency
Each organisation's data and keys live in a single region, so call the matching base URL —
https://api-<region>.clment.com/v1, where region is one of
us, eu, uk,
au, nz or ca. The authoritative list is the
Servers menu in the reference.
Generate a client library
Building in a language we do not ship an SDK for? the API ships a standard OpenAPI 3 spec, so rather than hand-writing HTTP calls you can generate a fully-typed client in your language with openapi-generator:
npx @openapitools/openapi-generator-cli generate \
-i https://clment.com/help/api/openapi.yaml \
-g csharp \
-o ./clment-client
Swap the -g target for your
stack — csharp (.NET),
python, go,
java, and
~50 others.
Every operation has a clean id (listContracts,
startReview, generateRedline), so the
generated methods read naturally. (openapi-generator needs Java; the npx wrapper fetches the rest.)
Building with an AI coding agent? Point it at /llms.txt for a machine-readable index of these resources.