change-pdf-permissions
Change a PDF’s permission flags (edit, print, copy, forms, annotations, etc.) by uploading it to the Solutions API, polling until completion, then returning a download URL for the updated PDF.
Install via CLI (Recommended)
clawhub install openclaw/skills/skills/crossservicesolutions/change-pdf-permissionschange-pdf-permissions
Purpose
This skill changes the permission flags of a PDF (e.g., whether it can be printed, edited, or copied) by:
- accepting a PDF file from the user,
- accepting desired permission settings (true/false),
- uploading them to the Solutions API,
- polling the job status until it is finished,
- returning the download URL for the updated PDF.
Credentials
The API requires an API key used as a Bearer token:
Authorization: Bearer <API_KEY>
How the user gets an API key:
- https://login.cross-service-solutions.com/register
- Or the user can provide an API key directly.
Rule: never echo or log the API key.
API endpoints
Base URL:
https://api.xss-cross-service-solutions.com/solutions/solutions
Create permission-change job:
POST /api/75multipart/form-dataparameters:file— required — PDF filecanModify— required — "true" or "false"canModifyAnnotations— required — "true" or "false"canPrint— required — "true" or "false"canPrintHighQuality— required — "true" or "false"canAssembleDocument— required — "true" or "false"canFillInForm— required — "true" or "false"canExtractContent— required — "true" or "false"canExtractForAccessibility— required — "true" or "false"
Get result by ID:
GET /api/<ID>
When done, the response contains:
output.files[]with{ name, path }wherepathis a downloadable URL.
Inputs
Required
- PDF file (binary)
- Permission flags (boolean-like), all required by API:
- canModify
- canModifyAnnotations
- canPrint
- canPrintHighQuality
- canAssembleDocument
- canFillInForm
- canExtractContent
- canExtractForAccessibility
- API key (string)
Optional
- None
Defaults (recommended)
If the user does not specify permissions, use a conservative default that disallows modification and extraction, but allows printing:
- canModify: false
- canModifyAnnotations: false
- canPrint: true
- canPrintHighQuality: true
- canAssembleDocument: false
- canFillInForm: true (reasonable default if forms exist)
- canExtractContent: false
- canExtractForAccessibility: true (often desirable for accessibility)
These defaults can be adjusted per product policy.
Output
Return a structured result:
job_id(number)status(string)download_url(string, when done)file_name(string, when available)permissions(object) reflecting the final values sent
Example output:
{
"job_id": 7501,
"status": "done",
"download_url": "https://.../permissions.pdf",
"file_name": "permissions.pdf",
"permissions": {
"canModify": false,
"canModifyAnnotations": false,
"canPrint": true,
"canPrintHighQuality": true,
"canAssembleDocument": false,
"canFillInForm": true,
"canExtractContent": false,
"canExtractForAccessibility": true
}
}
Metadata
Not sure this is the right skill?
Describe what you want to build — we'll match you to the best skill from 16,000+ options.
Find the right skillPaste this into your clawhub.json to enable this plugin.
{
"plugins": {
"official-crossservicesolutions-change-pdf-permissions": {
"enabled": true,
"auto_update": true
}
}
}Related Skills
merge-pdf
Merge multiple user-provided PDF files by uploading them to Cross-Service-Solutions, polling until completion, then returning a download URL for the merged PDF.
convert-to-pdf
Convert one or multiple documents to PDF by uploading them to Cross-Service-Solutions, polling until completion, then returning download URL(s) for the converted PDF(s) (or a ZIP if multiple).
make-pdf-safe
Flatten a PDF into a non-interactive “safe” version by uploading it to the Solutions API, polling until completion, then returning a download URL for the flattened PDF.
password-protect-pdf
Add password protection to a PDF by uploading it to the Solutions API, polling until completion, then returning a download URL for the protected PDF.
remove-metadata-from-pdf
Remove metadata from one or multiple PDFs by uploading them to the Solutions API, polling until completion, then returning download URL(s) for the cleaned PDF(s) (or a ZIP if multiple).