360 Secure SkillHub
360 安全技能中心

Protect PDF with password

核心功能:接收用户的PDF文件、密码及Solutions API密钥,调用API完成PDF密码加密,轮询任务状态直至完成,返回加密PDF的下载链接。典型场景:需加密敏感PDF文档时使用。输入需提供PDF文件、密码、API密钥;输出为含任务ID、状态、下载链接的结构化JSON结果。

crossservicesolutions
crossservicesolutions
热度 90.54
最近更新 2026-05-11 15:54:52
分类:安全依赖:第三方 API / 读写文件应用场景:API 集成 / 文件转换

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add password-protect-pdf
Metadata
name
password-protect-pdf
description
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.
license
MIT
compatibility
{"agentskills":">=0.1.0"}
metadata
{"category":"document-security","tags":["pdf","password","encrypt","security","cross-service-solutions"],"provider":"Cross-Service-Solutions (Solutions API)"}
allowed-tools
["http","files"]

password-protect-pdf

Purpose

This skill password-protects a PDF by:

  1. accepting a PDF file from the user,
  2. accepting a password from the user,
  3. uploading both to the Solutions API,
  4. polling the job status until it is finished,
  5. returning the download URL for the password-protected PDF.

Credentials

The API requires an API key used as a Bearer token:

  • Authorization: Bearer <API_KEY>

How the user gets an API key:

Rule: never echo or log the API key.

API endpoints

Base URL:

  • https://api.xss-cross-service-solutions.com/solutions/solutions

Create password-protect job:

  • POST /api/32
  • multipart/form-data parameters:
    • file (PDF-Datei) — required — PDF file
    • userPass (Passwort) — required — string password

Get result by ID:

  • GET /api/<ID>

When done, the response contains:

  • output.files[] with { name, path } where path is a downloadable URL.

Inputs

Required

  • PDF file (binary)
  • Password (userPass, string)
  • API key (string)

Optional

  • None

Output

Return a structured result:

  • job_id (number)
  • status (string)
  • download_url (string, when done)
  • file_name (string, when available)

Example output:

{
  "job_id": 321,
  "status": "done",
  "download_url": "https://.../protected.pdf",
  "file_name": "protected.pdf"
}