PDF Studio
Every PDF Studio tool, with the scope it needs, its arguments and the API operation it calls.
24 tools
Create PDF annotations
Changes dataatlas_pdf_annotations_create
Create a PDF Studio annotation (highlight, sticky note, or free-text box) on a document page. shape uses PDF user-space coords.
- Scope
pdf:write- Calls
- Example prompt
- Add a note annotation to page 2 of pdf_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | PdfDocument id the annotation belongs to. |
pageIndex | integer | Yes | 0-based page index. |
kind | "highlight" | "note" | "text" | Yes | |
shape | object | Yes | |
payload | object | No |
Delete PDF annotations
Destructiveatlas_pdf_annotations_delete
Delete one PDF Studio annotation from a document by annotation id with an idempotent REST mutation.
- Scope
pdf:write- Calls
- Example prompt
- Remove annotation ann_123 from pdf_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | PdfDocument id the annotation belongs to. |
id | string | Yes | PdfAnnotation id to delete. |
List PDF annotations
Read onlyatlas_pdf_annotations_list
List PDF Studio annotations (highlights, sticky notes, free-text boxes) on a document. Filter by page index or kind.
- Scope
pdf:read- Calls
- Example prompt
- List annotations on pdf_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | PdfDocument id to list annotations for. |
pageIndex | integer | No | Filter to a single 0-based page index. |
kind | "highlight" | "note" | "text" | No | |
limit | integer | No |
Update PDF annotations
Changes dataatlas_pdf_annotations_update
Update a PDF Studio annotation page, kind, shape, or payload while keeping document and annotation ids in the route.
- Scope
pdf:write- Calls
- Example prompt
- Move annotation ann_123 on pdf_123 to page 3.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | PdfDocument id the annotation belongs to. |
id | string | Yes | PdfAnnotation id to update. |
pageIndex | integer | No | New 0-based page index. |
kind | "highlight" | "note" | "text" | No | |
shape | object | No | |
payload | object | No |
List PDF conversion directions
Read onlyatlas_pdf_conversion_directions_list
List the supported PDF Studio conversion directions (Office <-> PDF, HTML to PDF, PDF/A). Useful before calling atlas_pdf_documents_convert.
- Scope
none- Example prompt
- What PDF conversion directions are supported?
Arguments
This tool takes no arguments.
Convert PDF documents
Changes dataatlas_pdf_documents_convert
Convert an Office document to PDF, a PDF to an Office document, render HTML to PDF, or normalise a PDF to PDF/A. Returns the upload URL + POST body so the host can stream the converted bytes back.
- Scope
pdf:write- Calls
- Example prompt
- Convert this DOCX to PDF.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
direction | "pdf-to-docx" | "pdf-to-xlsx" | "pdf-to-pptx" | "docx-to-pdf" | "xlsx-to-pdf" | "pptx-to-pdf" | "html-to-pdf" | "pdf-a" | Yes | Conversion direction; pdf-a normalises a PDF to PDF/A-1. |
filename | string | No | Original filename, used only to derive the output filename. |
fileBase64 | string | Yes | Base64-encoded source bytes (up to 50 MB decoded). |
Protect PDF documents
Changes dataatlas_pdf_documents_protect
Password-protect a PDF (qpdf AES). Returns the upload URL + POST body so the host can stream the encrypted PDF back.
- Scope
pdf:write- Calls
- Example prompt
- Password-protect this PDF with the password Atlas2026.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
pdfBase64 | string | Yes | Base64-encoded PDF bytes. |
userPassword | string | Yes | Password required to open the protected PDF. |
ownerPassword | string | No | Optional owner password granting full edit / print permissions. |
Unlock PDF documents
Changes dataatlas_pdf_documents_unlock
Remove the password from a PDF using the supplied password (qpdf). Returns the upload URL + POST body so the host can stream the decrypted PDF back.
- Scope
pdf:write- Calls
- Example prompt
- Unlock this PDF with the password Atlas2026.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
pdfBase64 | string | Yes | Base64-encoded encrypted PDF bytes. |
password | string | Yes | Password used to decrypt the PDF (user or owner password). |
Upload PDF documents
Changes dataatlas_pdf_documents_upload
Capture a PDF Studio document end-to-end: mint an upload ticket, PUT the file bytes to the returned uploadUrl, then finalize. Returns the finalized document id and metadata. Supply sizeBytes (and optionally actualSizeBytes/actualContentType) for the file already at the content reference.
- Scope
growth:write- Calls
- Example prompt
- Capture this contract PDF into PDF Studio end to end.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
accountId | string | null | No | CRM account the document belongs to, if any. |
dealId | string | null | No | CRM deal the document belongs to, if any. |
envelopeId | string | null | No | E-signature envelope the document belongs to, if any. |
projectId | string | null | No | Project the document is filed under, if any. |
taskId | string | null | No | Task the document is filed under, if any. |
name | string | Yes | Display filename for the captured document. |
contentType | string | No | Declared MIME type of the upload (defaults server-side to application/pdf). |
sizeBytes | integer | Yes | Declared byte size used to mint the upload ticket. |
actualSizeBytes | integer | No | Actual byte count written to storage. Defaults to sizeBytes when omitted. |
actualContentType | string | No | Actual MIME type of the stored object. Defaults to contentType / application/pdf. |
pageCount | integer | null | No | Known page count. |
textExtracted | boolean | No | Whether searchable text has already been extracted. |
riskFlags | array of string | No | Risk / compliance flags to attach to the document. |
metadata | object | No | Free-form metadata bag persisted with the document. |
Cancel PDF operations
Destructiveatlas_pdf_operations_cancel
Cancel a queued or running PDF Studio operation and return the updated operation posture.
- Scope
growth:write- Calls
- Example prompt
- Cancel PDF operation op_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Create PDF operations
Changes dataatlas_pdf_operations_create
Create a PDF Studio operation for merge, split, OCR, redact, protect, compare, convert, compress, and related workflows.
- Scope
growth:write- Calls
- Example prompt
- Queue OCR for document pdf_123 with English language settings.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | |
operation | "MERGE" | "SPLIT" | "EXTRACT_PAGES" | "DELETE_PAGES" | "REORDER_PAGES" | "ADD_PAGE_NUMBERS" | "ADD_HEADER_FOOTER" | "DISCOVER_PAGE_MARKS" | "BATES_STAMP" | "STAMP_PDF" | "ANNOTATE" | "APPLY_SUGGESTED_EDIT" | "FILL_FORM" | "CROP_PAGES" | "INSERT_PAGES" | "INSERT_BLANK_PAGES" | "FLATTEN_PDF" | "EXTRACT_TEXT" | "REPAIR_PDF" | "ROTATE" | "REDACT" | "WATERMARK" | "COMPRESS" | "OCR" | "PROTECT" | "UNLOCK_PDF" | "CONVERT_TO_PDF" | "FLATTEN" | "SIGNING_HANDOFF" | "COMPARE" | Yes | |
inputJson | object | No |
List PDF operations
Read onlyatlas_pdf_operations_list
List PDF Studio operations, optionally filtered by document and status, one page at a time. Returns tenant-scoped operation rows and a nextCursor; pass it back as cursor for the next page.
- Scope
growth:read- Calls
- Example prompt
- List the last 50 completed PDF operations for pdf_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | No | |
status | "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | No | |
limit | integer | No | How many operations to return, 1 to 100. 50 by default. |
cursor | string | No | The nextCursor of the previous page. Leave it out for the first page. |
sort | "createdAt" | "updatedAt" | No | The field to sort on. createdAt by default. |
order | "asc" | "desc" | No | asc or desc. desc (newest first) by default. |
Get PDF operations package manifest
Read onlyatlas_pdf_operations_package_manifest_get
Read the manifest for a split PDF Studio artifact package without downloading raw binary archive bytes.
- Scope
growth:read- Calls
- Example prompt
- Show the package manifest for PDF operation op_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Run PDF operations
Changes dataatlas_pdf_operations_run
Run a queued PDF Studio operation now and return the operation run result plus artifact posture.
- Scope
growth:write- Calls
- Example prompt
- Run PDF operation op_123 now.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes |
Review PDF operations suggested edits
Changes dataatlas_pdf_operations_suggested_edits_review
Accept, reject, or return to pending review a PDF Studio suggested edit by operation id and edit index.
- Scope
growth:write- Calls
- Example prompt
- Accept suggested edit 2 on operation op_123.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
editIndex | integer | Yes | |
decisionState | "pending_review" | "accepted" | "rejected" | Yes | |
decisionReasonHashPrefix | string | null | No | |
source | "API" | "REVIEW_RAIL" | No |
Update PDF operations
Changes dataatlas_pdf_operations_update
Patch PDF Studio operation status, inputs, results, error message, and lifecycle timestamps without leaking the route id into the body.
- Scope
growth:write- Calls
- Example prompt
- Mark operation op_123 as failed with sanitized evidence.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
id | string | Yes | |
status | "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | No | |
inputJson | object | No | |
resultJson | object | null | No | |
errorMessage | string | null | No | |
startedAt | string (date-time) | null | No | |
completedAt | string (date-time) | null | No |
Protect PDF
Changes dataatlas_pdf_protect
Password-protect a PDF with AES encryption (qpdf-backed). Streams back the encrypted PDF bytes.
- Scope
pdf:write- Calls
- Example prompt
- Password-protect this PDF with the password Atlas2026.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
pdfBase64 | string | Yes | Base64-encoded PDF bytes to password-protect. |
userPassword | string | Yes | Password required to open the PDF. |
ownerPassword | string | No | Owner password that allows full permissions on the PDF. |
List PDF queued operations
Read onlyatlas_pdf_queued_operations_list
List the PDF Studio operation queue with presets, sorting, cursor paging, and operation/status filters.
- Scope
growth:read- Calls
- Example prompt
- Show active redaction operations in the PDF queue.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
preset | "all" | "active" | "failed" | "completed" | "redaction" | "review" | "provider" | No | |
sort | "createdAt" | "updatedAt" | "startedAt" | "completedAt" | No | |
direction | "asc" | "desc" | No | |
cursor | string | No | |
limit | integer | No | |
documentId | string | No | |
requestedById | string | No | |
status | "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED" | "CANCELLED" | No | |
operation | "MERGE" | "SPLIT" | "EXTRACT_PAGES" | "DELETE_PAGES" | "REORDER_PAGES" | "ADD_PAGE_NUMBERS" | "ADD_HEADER_FOOTER" | "DISCOVER_PAGE_MARKS" | "BATES_STAMP" | "STAMP_PDF" | "ANNOTATE" | "APPLY_SUGGESTED_EDIT" | "FILL_FORM" | "CROP_PAGES" | "INSERT_PAGES" | "INSERT_BLANK_PAGES" | "FLATTEN_PDF" | "EXTRACT_TEXT" | "REPAIR_PDF" | "ROTATE" | "REDACT" | "WATERMARK" | "COMPRESS" | "OCR" | "PROTECT" | "UNLOCK_PDF" | "CONVERT_TO_PDF" | "FLATTEN" | "SIGNING_HANDOFF" | "COMPARE" | No |
Get PDF redaction readiness
Read onlyatlas_pdf_redaction_readiness_get
Read PDF Studio redaction readiness: sanitizer support, permanent-redaction posture, and review guardrails.
- Scope
growth:read- Calls
- Example prompt
- Is permanent PDF redaction safe to run for this tenant?
Arguments
This tool takes no arguments.
Get PDF security readiness
Read onlyatlas_pdf_security_readiness_get
Read PDF Studio security readiness: encryption, lock/unlock, and provider posture without exposing secrets.
- Scope
growth:read- Calls
- Example prompt
- Is PDF Studio ready for secure export and unlock operations?
Arguments
This tool takes no arguments.
Extract PDF studio text
Changes dataatlas_pdf_studio_text_extract
Run server-side OCR over a PDF and return { text, pageCount, model }. Recognises English text only.
- Scope
pdf:write- Calls
- Example prompt
- OCR this PDF and read me the text.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
pdfBase64 | string | Yes | Base64-encoded PDF bytes to OCR. |
Extract PDF text
Changes dataatlas_pdf_text_extract
Extract text from a PDF using server-side OCR (tesseract, English). Returns { text, pageCount, model } directly in the tool response.
- Scope
pdf:write- Calls
- Example prompt
- OCR this PDF and give me the text.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
pdfBase64 | string | Yes | Base64-encoded PDF bytes (up to 50 MB decoded). |
Create PDF upload tickets
Changes dataatlas_pdf_upload_tickets_create
Reserve a PDF Studio document and mint a presigned upload ticket. Returns the new document plus the uploadUrl / headers / method the caller PUTs the file bytes to before finalizing.
- Scope
growth:write- Calls
- Example prompt
- Reserve a PDF Studio document and give me an upload URL.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
accountId | string | null | No | CRM account the document belongs to, if any. |
dealId | string | null | No | CRM deal the document belongs to, if any. |
envelopeId | string | null | No | E-signature envelope the document belongs to, if any. |
projectId | string | null | No | Project the document is filed under, if any. |
taskId | string | null | No | Task the document is filed under, if any. |
name | string | Yes | Display filename for the captured document. |
contentType | string | No | Declared MIME type of the upload (defaults server-side to application/pdf). |
sizeBytes | integer | Yes | Declared byte size used to mint a correctly-scoped upload ticket. |
pageCount | integer | null | No | Known page count. |
textExtracted | boolean | No | Whether searchable text has already been extracted. |
riskFlags | array of string | No | Risk / compliance flags to attach to the document. |
metadata | object | No | Free-form metadata bag persisted with the document. |
Finalize PDF uploads
Changes dataatlas_pdf_uploads_finalize
Finalize a PDF Studio document upload once the bytes are stored, confirming the actual size and content type so the document becomes usable.
- Scope
growth:write- Calls
- Example prompt
- Finalize the PDF Studio upload now that the bytes are stored.
Arguments
| Field | Type | Required | Description |
|---|---|---|---|
documentId | string | Yes | PdfDocument id returned by the upload ticket. |
actualSizeBytes | integer | Yes | Actual byte count written to storage. |
actualContentType | string | Yes | Actual MIME type of the stored object. |
pageCount | integer | null | No | Known page count. |
textExtracted | boolean | No | Whether searchable text has already been extracted. |
riskFlags | array of string | No | Risk / compliance flags to attach to the document. |
metadata | object | No | Free-form metadata bag persisted with the document. |