Skip to main content

Quickstart

Get your first response from the Syntheia API in under 5 minutes.

1. Get your API key

  1. Sign up or log in to your Syntheia app at https://app.your-domain.com (the domain you were given access to)
  2. Navigate to Settings → Developers → API Keys
  3. Click Generate new key and copy it somewhere safe — it won't be shown again
warning

Keep your API key secret. Never commit it to source control or expose it in client-side code.

2. Make your first request

Replace YOUR_API_KEY with the key you just generated and YOUR_WORKSPACE_ID with your workspace ID.

List documents in your workspace
curl -X POST https://api.your-domain.com/documents/list \
-H "x-api-key: YOUR_API_KEY" \
-H "x-workspace-id: YOUR_WORKSPACE_ID" \
-H "x-app-name: my-app" \
-H "Content-Type: application/json" \
-d '{ "limit": 25, "offset": 0 }'

A successful response looks like:

{
"count": 1,
"documents": [
{
"documentId": "98765",
"title": "Acme NDA 2024",
"pageCount": 12,
"processing": false,
"failed": false,
"endorsed": true,
"created": "2024-01-15T09:30:00.000Z",
"tagIds": [],
"predictedTagIds": []
}
]
}

3. Upload a document

Uploading is a two-step flow: request a presigned URL, PUT the file to it, then register the document so Syntheia begins processing.

1) Request a presigned upload URL
curl -X POST https://api.your-domain.com/documents/uploadURL \
-H "x-api-key: YOUR_API_KEY" \
-H "x-workspace-id: YOUR_WORKSPACE_ID" \
-H "x-app-name: my-app" \
-H "Content-Type: application/json" \
-d '{
"fileName": "contract.pdf",
"fileHash": "sha256-abc123...",
"title": "Acme NDA 2024"
}'

The response is a plain string — the presigned URL. PUT your file bytes to it, then register the document:

2) Register the document
curl -X POST https://api.your-domain.com/documents \
-H "x-api-key: YOUR_API_KEY" \
-H "x-workspace-id: YOUR_WORKSPACE_ID" \
-H "x-app-name: my-app" \
-F 'document={"title":"Acme NDA 2024","tagIds":[],"predictedTagIds":[],"fileData":{"fileName":"contract.pdf","fileHash":"sha256-abc123..."}}'

The full upload flow — including the duplicate check and listing documents — is covered in Document Management.

4. Search your documents

Once a document is processed, search for clauses across the workspace by tag:

Search clauses
curl -X POST https://api.your-domain.com/clauses/search \
-H "x-api-key: YOUR_API_KEY" \
-H "x-workspace-id: YOUR_WORKSPACE_ID" \
-H "x-app-name: my-app" \
-H "Content-Type: application/json" \
-d '{ "filter": { "tagIds": ["tag_001"] } }'

Next steps