openapi: 3.1.0
info:
title: Adobe PDF Services API
description: >-
The Adobe PDF Services API enables developers to create, convert, manipulate,
and extract content from PDF documents programmatically. The API uses an
asynchronous job-based model where you submit a job, poll for its status, and
retrieve the result. Operations include creating PDFs from various formats,
exporting PDFs to other formats, combining and splitting PDFs, compressing,
OCR processing, protecting with passwords, extracting structured content,
auto-tagging for accessibility, and generating documents from templates.
Authentication uses OAuth 2.0 with client credentials (server-to-server).
version: 4.0.0
contact:
name: Adobe Developer Support
url: https://developer.adobe.com/document-services/
email: pdfsvcops@adobe.com
license:
name: Adobe Terms of Service
url: https://www.adobe.com/legal/terms.html
termsOfService: https://www.adobe.com/legal/terms.html
servers:
- url: https://pdf-services-ue1.adobe.io
description: Adobe PDF Services API - US East Production
- url: https://pdf-services.adobe.io
description: Adobe PDF Services API - Default Production
security:
- bearerAuth: []
tags:
- name: Accessibility Auto-Tag
description: Automatically add accessibility tags to PDF documents using AI.
- name: Assets
description: Upload and manage assets (source files) for PDF operations.
- name: Combine PDF
description: Combine multiple PDF documents into a single PDF.
- name: Compress PDF
description: Reduce the file size of PDF documents while maintaining quality.
- name: Create PDF
description: Create PDF documents from supported file formats including Microsoft Office, images, and HTML.
- name: Delete Pages
description: Delete specific pages from a PDF document.
- name: Document Generation
description: Generate PDF and Word documents from templates with dynamic JSON data.
- name: Export PDF
description: Export (convert) PDF documents to other formats such as DOCX, PPTX, XLSX, images, and RTF.
- name: Extract PDF
description: Extract text, tables, and figures from PDF documents into structured JSON output.
- name: Insert Pages
description: Insert pages from one PDF into another.
- name: Jobs
description: Poll for the status and results of asynchronous PDF operations.
- name: Linearize PDF
description: Optimize PDFs for fast web viewing (linearization).
- name: OCR
description: Apply optical character recognition to scanned PDFs to make text searchable and selectable.
- name: PDF Properties
description: Retrieve metadata and properties from PDF documents.
- name: Protect PDF
description: Add password protection and encryption to PDF documents.
- name: Remove Protection
description: Remove password protection from PDF documents.
- name: Reorder Pages
description: Reorder pages within a PDF document.
- name: Replace Pages
description: Replace pages in a PDF with pages from another PDF.
- name: Rotate Pages
description: Rotate pages within a PDF document.
- name: Split PDF
description: Split a PDF document into multiple smaller PDFs.
paths:
/assets:
post:
operationId: uploadAsset
summary: Adobe Upload an Asset
description: >-
Upload a document to the PDF Services platform for processing. Returns
a pre-signed upload URI and an asset ID. You must first call this
endpoint to get the upload URI, then PUT the file content to that URI,
and finally use the asset ID in subsequent operation requests.
tags:
- Assets
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AssetUploadRequest'
examples:
UploadassetRequestExample:
summary: Default uploadAsset request
x-microcks-default: true
value:
mediaType: example_value
responses:
'200':
description: Asset upload URI and metadata returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetUploadResponse'
examples:
Uploadasset200Example:
summary: Default uploadAsset 200 response
x-microcks-default: true
value:
assetID: '500123'
uploadUri: https://www.example.com
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/assets/{assetID}:
get:
operationId: getAsset
summary: Adobe Get Asset Download Uri
description: >-
Retrieve a pre-signed download URI for a previously created asset or
job output. The download URI is valid for a limited time.
tags:
- Assets
parameters:
- $ref: '#/components/parameters/assetID'
responses:
'200':
description: Asset download URI returned successfully.
content:
application/json:
schema:
$ref: '#/components/schemas/AssetDownloadResponse'
examples:
Getasset200Example:
summary: Default getAsset 200 response
x-microcks-default: true
value:
assetID: '500123'
downloadUri: https://www.example.com
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
delete:
operationId: deleteAsset
summary: Adobe Delete an Asset
description: Delete a previously uploaded asset from the platform.
tags:
- Assets
parameters:
- $ref: '#/components/parameters/assetID'
responses:
'204':
description: Asset deleted successfully.
'404':
$ref: '#/components/responses/NotFound'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/createpdf:
post:
operationId: createPDF
summary: Adobe Create a Pdf
description: >-
Create a PDF document from a supported source file format. Supported
input formats include Microsoft Word (DOC, DOCX), Excel (XLS, XLSX),
PowerPoint (PPT, PPTX), images (BMP, GIF, JPEG, PNG, TIFF), HTML,
and RTF. The operation runs asynchronously; poll the returned location
header for job status.
tags:
- Create PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePDFRequest'
examples:
CreatepdfRequestExample:
summary: Default createPDF request
x-microcks-default: true
value:
assetID: '500123'
documentLanguage: en-US
createPDFFromDOCXOptions: {}
createPDFFromPPTXOptions: {}
createPDFFromXLSXOptions: {}
createPDFFromHTMLOptions:
includeHeaderFooter: true
pageLayout:
pageWidth: 42.5
pageHeight: 42.5
responses:
'201':
description: Job created successfully. Poll the Location header URL for status.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Createpdf201Example:
summary: Default createPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/exportpdf:
post:
operationId: exportPDF
summary: Adobe Export a Pdf
description: >-
Convert a PDF document to a supported output format. Supported output
formats include DOCX, DOC, PPTX, XLSX, RTF, and image formats (JPEG,
PNG). For image output, each page is converted to a separate image file.
tags:
- Export PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExportPDFRequest'
examples:
ExportpdfRequestExample:
summary: Default exportPDF request
x-microcks-default: true
value:
assetID: '500123'
targetFormat: docx
ocrLanguage: en-US
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Exportpdf201Example:
summary: Default exportPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/combinepdf:
post:
operationId: combinePDF
summary: Adobe Combine Pdf Files
description: >-
Combine multiple PDF documents into a single PDF. You can specify
page ranges from each source document to include. Supports combining
up to 20 files or 100 pages total.
tags:
- Combine PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CombinePDFRequest'
examples:
CombinepdfRequestExample:
summary: Default combinePDF request
x-microcks-default: true
value:
assets:
- assetID: '500123'
pageRanges:
- {}
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Combinepdf201Example:
summary: Default combinePDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/splitpdf:
post:
operationId: splitPDF
summary: Adobe Split a Pdf
description: >-
Split a PDF document into multiple smaller PDF files. You can split
by page count, page ranges, or number of output files.
tags:
- Split PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SplitPDFRequest'
examples:
SplitpdfRequestExample:
summary: Default splitPDF request
x-microcks-default: true
value:
assetID: '500123'
splitOptions:
pageCount: 10
pageRanges:
- {}
fileCount: 10
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Splitpdf201Example:
summary: Default splitPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/ocr:
post:
operationId: ocrPDF
summary: Adobe Ocr a Pdf
description: >-
Apply optical character recognition to a scanned PDF, converting
image-based text into searchable and selectable text. Supports
multiple OCR languages and output types (searchable image or
searchable image exact).
tags:
- OCR
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/OCRRequest'
examples:
OcrpdfRequestExample:
summary: Default ocrPDF request
x-microcks-default: true
value:
assetID: '500123'
ocrLanguage: en-US
ocrType: SEARCHABLE_IMAGE
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Ocrpdf201Example:
summary: Default ocrPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/compresspdf:
post:
operationId: compressPDF
summary: Adobe Compress a Pdf
description: >-
Reduce the file size of a PDF document. Supports multiple compression
levels to balance file size reduction against quality.
tags:
- Compress PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CompressPDFRequest'
examples:
CompresspdfRequestExample:
summary: Default compressPDF request
x-microcks-default: true
value:
assetID: '500123'
compressionLevel: LOW
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Compresspdf201Example:
summary: Default compressPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/protectpdf:
post:
operationId: protectPDF
summary: Adobe Protect a Pdf
description: >-
Add password protection and set permissions on a PDF document. Supports
setting user passwords (to open), owner passwords (to edit/print), and
encryption algorithms (AES-128 or AES-256).
tags:
- Protect PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectPDFRequest'
examples:
ProtectpdfRequestExample:
summary: Default protectPDF request
x-microcks-default: true
value:
assetID: '500123'
passwordProtection:
userPassword: example_value
ownerPassword: example_value
encryptionAlgorithm: AES_128
permissions:
printQuality: NONE
editContent: true
copyContent: true
editAnnotations: true
fillForms: true
assembleDocument: true
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Protectpdf201Example:
summary: Default protectPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/removeprotection:
post:
operationId: removeProtection
summary: Adobe Remove Protection From a Pdf
description: >-
Remove password protection from a PDF document. Requires the
current password to unlock the document.
tags:
- Remove Protection
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/RemoveProtectionRequest'
examples:
RemoveprotectionRequestExample:
summary: Default removeProtection request
x-microcks-default: true
value:
assetID: '500123'
password: example_value
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Removeprotection201Example:
summary: Default removeProtection 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/linearizepdf:
post:
operationId: linearizePDF
summary: Adobe Linearize a Pdf
description: >-
Optimize a PDF for fast web viewing. Linearized PDFs allow the first
page to be displayed in a web browser before the entire file has
been downloaded.
tags:
- Linearize PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/LinearizePDFRequest'
examples:
LinearizepdfRequestExample:
summary: Default linearizePDF request
x-microcks-default: true
value:
assetID: '500123'
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Linearizepdf201Example:
summary: Default linearizePDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/extractpdf:
post:
operationId: extractPDF
summary: Adobe Extract Content From a Pdf
description: >-
Extract text, tables, and figures from a PDF document into structured
JSON output. Uses Adobe Sensei AI technology to identify and extract
document structure elements. Returns a ZIP file containing the
structured JSON and optionally extracted tables as CSV and figures
as images.
tags:
- Extract PDF
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ExtractPDFRequest'
examples:
ExtractpdfRequestExample:
summary: Default extractPDF request
x-microcks-default: true
value:
assetID: '500123'
elementsToExtract:
- text
elementsToExtractRenditions:
- tables
tableOutputFormat: csv
getStylingInfo: true
addCharInfo: true
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Extractpdf201Example:
summary: Default extractPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/accessibilitychecker:
post:
operationId: autoTagPDF
summary: Adobe Auto-tag a Pdf for Accessibility
description: >-
Automatically add accessibility tags to a PDF document using Adobe
Sensei AI technology. Generates a tagged PDF that meets WCAG 2.0
and PDF/UA standards. Optionally generates a report detailing the
tagging results.
tags:
- Accessibility Auto-Tag
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/AutoTagRequest'
examples:
AutotagpdfRequestExample:
summary: Default autoTagPDF request
x-microcks-default: true
value:
assetID: '500123'
generateReport: true
shiftHeadings: true
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
Autotagpdf201Example:
summary: Default autoTagPDF 201 response
x-microcks-default: true
value:
status: in progress
asset:
assetID: '500123'
downloadUri: https://www.example.com
metadata:
type: example_value
size: 10
error:
code: example_value
message: example_value
status: 10
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/TooManyRequests'
x-microcks-operation:
delay: 0
dispatcher: FALLBACK
/operation/documentgeneration:
post:
operationId: generateDocument
summary: Adobe Generate a Document From a Template
description: >-
Generate a PDF or Word document by merging a Word template (DOCX)
with JSON data. Supports dynamic text insertion, conditional sections,
tables, lists, images, and computed expressions.
tags:
- Document Generation
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DocumentGenerationRequest'
examples:
GeneratedocumentRequestExample:
summary: Default generateDocument request
x-microcks-default: true
value:
assetID: '500123'
jsonDataForMerge: example_value
outputFormat: pdf
fragments: example_value
responses:
'201':
description: Job created successfully.
headers:
Location:
description: URL to poll for job status.
schema:
type: string
format: uri
x-request-id:
$ref: '#/components/headers/x-request-id'
content:
application/json:
schema:
$ref: '#/components/schemas/JobStatusResponse'
examples:
# --- truncated at 32 KB (68 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adobe/refs/heads/main/openapi/adobe-pdf-services-api-openapi.yml