Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudmersive:cloudmersive-filesanitization-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: CDR File Sanitization API
description: Use the Content Disarm and Reconstruction API to remove security risks from documents by tearing them down, removing unsafe content and rebuilding them.
termsOfService: https://portal.cloudmersive.com/terms-of-service
version: v1
servers:
- url: https://testapi.cloudmersive.com
security:
- Apikey: []
tags:
- name: FileSanitization
paths:
/cdr/sanitization/file:
post:
tags:
- FileSanitization
summary: Content Disarm and Reconstruction on a File
description: Processes the input file via CDR to produce a secured output file. Input content is parsed, disarmed, and then reconstructed into a new output file with the same file format as the input.
operationId: File
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
format: binary
type: string
'400':
description: Bad Request
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
InputFile:
type: string
description: Input document, or photos of a document, to extract data from
format: binary
/cdr/sanitization/file/advanced:
post:
tags:
- FileSanitization
summary: Advanced Content Disarm and Reconstruction on a File
description: Processes the input file via CDR to produce a secured output file with advanced scan options and response headers containing scan metadata.
operationId: FileAdvanced
parameters:
- in: header
name: allowExecutables
description: Set to false to block executable files (EXE, DLL, etc.)
schema:
type: boolean
- in: header
name: allowInvalidFiles
description: Set to false to block files that are not valid for their detected type
schema:
type: boolean
- in: header
name: allowScripts
description: Set to false to block script files. PDF and Office macro sanitization still runs regardless.
schema:
type: boolean
- in: header
name: allowPasswordProtectedFiles
description: Set to false to block password-protected files
schema:
type: boolean
- in: header
name: allowMacros
description: Set to false to block files containing macros. Office macro removal still runs regardless.
schema:
type: boolean
- in: header
name: allowXmlExternalEntities
description: Set to false to block XML files with external entity references (XXE)
schema:
type: boolean
- in: header
name: allowInsecureDeserialization
description: Set to false to block files with insecure deserialization patterns
schema:
type: boolean
- in: header
name: allowHtml
description: Set to false to block HTML files
schema:
type: boolean
- in: header
name: allowUnsafeArchives
description: Set to false to block archive files flagged as unsafe (e.g., zip bombs)
schema:
type: boolean
- in: header
name: allowOleEmbeddedObject
description: Set to false to block files with embedded OLE objects
schema:
type: boolean
- in: header
name: allowUnwantedAction
description: Set to false to block files with unwanted actions
schema:
type: boolean
- in: header
name: restrictFileTypes
description: Comma-separated list of allowed file extensions (e.g., ".pdf,.docx,.xlsx"). Files not matching will be blocked.
schema:
type: string
- in: header
name: options
description: Comma-separated list of advanced scan option tokens passed through to the content scan (e.g., "permitJavascriptAndHtmlInPDFs" to admit PDFs containing JavaScript or HTML so they can be sanitized, while script content elsewhere remains subject to allowScripts).
schema:
type: string
- in: header
name: removeMetadata
description: Set to false to preserve document metadata. When true (default), primary metadata such as author, title, and EXIF data is removed.
schema:
type: boolean
- in: header
name: removeNetworkContent
description: Set to false to preserve network content. When true (default), content that triggers network requests, such as remote image URLs and tracking pixels, is removed.
schema:
type: boolean
- in: header
name: fileName
description: 'Optional: specify the original file name of the file being scanned. By default the file name is taken from InputFile parameter, but if this is not provided, or you wish to override it, you can specify the original file name using this parameter.'
schema:
type: string
responses:
'200':
description: OK
headers:
X-CDR-CleanResult:
description: Whether the file passed the virus scan
schema:
type: boolean
X-CDR-ContainsExecutable:
description: File contains executable content
schema:
type: boolean
X-CDR-ContainsInvalidFile:
description: File is invalid for its detected type
schema:
type: boolean
X-CDR-ContainsScript:
description: File contains scripts
schema:
type: boolean
X-CDR-ContainsPasswordProtectedFile:
description: File is password-protected
schema:
type: boolean
X-CDR-ContainsRestrictedFileFormat:
description: File is a restricted format
schema:
type: boolean
X-CDR-ContainsMacros:
description: File contains macros
schema:
type: boolean
X-CDR-ContainsXmlExternalEntities:
description: File has XXE references
schema:
type: boolean
X-CDR-ContainsInsecureDeserialization:
description: File has insecure deserialization
schema:
type: boolean
X-CDR-ContainsHtml:
description: File contains HTML
schema:
type: boolean
X-CDR-ContainsUnsafeArchive:
description: File is an unsafe archive
schema:
type: boolean
X-CDR-ContainsOleEmbeddedObject:
description: File has OLE embedded objects
schema:
type: boolean
X-CDR-ContainsUnwantedAction:
description: File has unwanted actions
schema:
type: boolean
X-CDR-ContainsJSON:
description: File contains JSON
schema:
type: boolean
X-CDR-ContainsXML:
description: File contains XML
schema:
type: boolean
X-CDR-ContainsImage:
description: File contains images
schema:
type: boolean
X-CDR-IsAuthenticodeSigned:
description: File is Authenticode signed
schema:
type: boolean
X-CDR-MetadataRemoved:
description: Document metadata was removed before conversion
schema:
type: boolean
X-CDR-NetworkContentRemoved:
description: Network content (e.g., remote image URLs) was found and removed
schema:
type: boolean
X-CDR-VerifiedFileFormat:
description: Detected file format (e.g., .docx)
schema:
type: string
X-CDR-FoundViruses:
description: JSON array of found virus names, or empty if clean
schema:
type: string
X-CDR-HashSHA1:
description: SHA1 hash of the input file
schema:
type: string
content:
application/octet-stream:
schema:
format: binary
type: string
'400':
description: Bad Request
headers:
X-CDR-CleanResult:
description: Whether the file passed the virus scan
schema:
type: boolean
X-CDR-ContainsExecutable:
description: File contains executable content
schema:
type: boolean
X-CDR-ContainsInvalidFile:
description: File is invalid for its detected type
schema:
type: boolean
X-CDR-ContainsScript:
description: File contains scripts
schema:
type: boolean
X-CDR-ContainsPasswordProtectedFile:
description: File is password-protected
schema:
type: boolean
X-CDR-ContainsRestrictedFileFormat:
description: File is a restricted format
schema:
type: boolean
X-CDR-ContainsMacros:
description: File contains macros
schema:
type: boolean
X-CDR-ContainsXmlExternalEntities:
description: File has XXE references
schema:
type: boolean
X-CDR-ContainsInsecureDeserialization:
description: File has insecure deserialization
schema:
type: boolean
X-CDR-ContainsHtml:
description: File contains HTML
schema:
type: boolean
X-CDR-ContainsUnsafeArchive:
description: File is an unsafe archive
schema:
type: boolean
X-CDR-ContainsOleEmbeddedObject:
description: File has OLE embedded objects
schema:
type: boolean
X-CDR-ContainsUnwantedAction:
description: File has unwanted actions
schema:
type: boolean
X-CDR-ContainsJSON:
description: File contains JSON
schema:
type: boolean
X-CDR-ContainsXML:
description: File contains XML
schema:
type: boolean
X-CDR-ContainsImage:
description: File contains images
schema:
type: boolean
X-CDR-IsAuthenticodeSigned:
description: File is Authenticode signed
schema:
type: boolean
X-CDR-MetadataRemoved:
description: Document metadata was removed before conversion
schema:
type: boolean
X-CDR-NetworkContentRemoved:
description: Network content (e.g., remote image URLs) was found and removed
schema:
type: boolean
X-CDR-VerifiedFileFormat:
description: Detected file format (e.g., .docx)
schema:
type: string
X-CDR-FoundViruses:
description: JSON array of found virus names, or empty if clean
schema:
type: string
X-CDR-HashSHA1:
description: SHA1 hash of the input file
schema:
type: string
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
InputFile:
type: string
description: Input document to CDR process
format: binary
/cdr/sanitization/file/to/pdf:
post:
tags:
- FileSanitization
summary: Content Disarm and Reconstruction on a File with PDFA Output
description: Processes the input file via CDR to produce a secured PDF/A output file. Input content is parsed, disarmed, and then reconstructed into a new PDF/A output file.
operationId: FileToPdf
responses:
'200':
description: OK
content:
application/octet-stream:
schema:
format: binary
type: string
'400':
description: Bad Request
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
InputFile:
type: string
description: Input document, or photos of a document, to extract data from
format: binary
/cdr/sanitization/file/to/pdf/advanced:
post:
tags:
- FileSanitization
summary: Advanced Content Disarm and Reconstruction on a File with PDFA Output
description: Processes the input file via CDR to produce a secured PDF/A output file with advanced scan options and response headers containing scan metadata.
operationId: FileToPdfAdvanced
parameters:
- in: header
name: allowExecutables
description: Set to false to block executable files (EXE, DLL, etc.)
schema:
type: boolean
- in: header
name: allowInvalidFiles
description: Set to false to block files that are not valid for their detected type
schema:
type: boolean
- in: header
name: allowScripts
description: Set to false to block script files. PDF and Office macro sanitization still runs regardless.
schema:
type: boolean
- in: header
name: allowPasswordProtectedFiles
description: Set to false to block password-protected files
schema:
type: boolean
- in: header
name: allowMacros
description: Set to false to block files containing macros. Office macro removal still runs regardless.
schema:
type: boolean
- in: header
name: allowXmlExternalEntities
description: Set to false to block XML files with external entity references (XXE)
schema:
type: boolean
- in: header
name: allowInsecureDeserialization
description: Set to false to block files with insecure deserialization patterns
schema:
type: boolean
- in: header
name: allowHtml
description: Set to false to block HTML files
schema:
type: boolean
- in: header
name: allowUnsafeArchives
description: Set to false to block archive files flagged as unsafe (e.g., zip bombs)
schema:
type: boolean
- in: header
name: allowOleEmbeddedObject
description: Set to false to block files with embedded OLE objects
schema:
type: boolean
- in: header
name: allowUnwantedAction
description: Set to false to block files with unwanted actions
schema:
type: boolean
- in: header
name: restrictFileTypes
description: Comma-separated list of allowed file extensions (e.g., ".pdf,.docx,.xlsx"). Files not matching will be blocked.
schema:
type: string
- in: header
name: options
description: Comma-separated list of advanced scan option tokens passed through to the content scan (e.g., "permitJavascriptAndHtmlInPDFs" to admit PDFs containing JavaScript or HTML so they can be sanitized, while script content elsewhere remains subject to allowScripts).
schema:
type: string
- in: header
name: removeMetadata
description: Set to false to preserve document metadata. When true (default), primary metadata such as author, title, and EXIF data is removed.
schema:
type: boolean
- in: header
name: removeNetworkContent
description: Set to false to preserve network content. When true (default), content that triggers network requests, such as remote image URLs and tracking pixels, is removed.
schema:
type: boolean
- in: header
name: fileName
description: 'Optional: specify the original file name of the file being scanned. By default the file name is taken from InputFile parameter, but if this is not provided, or you wish to override it, you can specify the original file name using this parameter.'
schema:
type: string
responses:
'200':
description: OK
headers:
X-CDR-CleanResult:
description: Whether the file passed the virus scan
schema:
type: boolean
X-CDR-ContainsExecutable:
description: File contains executable content
schema:
type: boolean
X-CDR-ContainsInvalidFile:
description: File is invalid for its detected type
schema:
type: boolean
X-CDR-ContainsScript:
description: File contains scripts
schema:
type: boolean
X-CDR-ContainsPasswordProtectedFile:
description: File is password-protected
schema:
type: boolean
X-CDR-ContainsRestrictedFileFormat:
description: File is a restricted format
schema:
type: boolean
X-CDR-ContainsMacros:
description: File contains macros
schema:
type: boolean
X-CDR-ContainsXmlExternalEntities:
description: File has XXE references
schema:
type: boolean
X-CDR-ContainsInsecureDeserialization:
description: File has insecure deserialization
schema:
type: boolean
X-CDR-ContainsHtml:
description: File contains HTML
schema:
type: boolean
X-CDR-ContainsUnsafeArchive:
description: File is an unsafe archive
schema:
type: boolean
X-CDR-ContainsOleEmbeddedObject:
description: File has OLE embedded objects
schema:
type: boolean
X-CDR-ContainsUnwantedAction:
description: File has unwanted actions
schema:
type: boolean
X-CDR-ContainsJSON:
description: File contains JSON
schema:
type: boolean
X-CDR-ContainsXML:
description: File contains XML
schema:
type: boolean
X-CDR-ContainsImage:
description: File contains images
schema:
type: boolean
X-CDR-IsAuthenticodeSigned:
description: File is Authenticode signed
schema:
type: boolean
X-CDR-MetadataRemoved:
description: Document metadata was removed before conversion
schema:
type: boolean
X-CDR-NetworkContentRemoved:
description: Network content (e.g., remote image URLs) was found and removed
schema:
type: boolean
X-CDR-VerifiedFileFormat:
description: Detected file format (e.g., .docx)
schema:
type: string
X-CDR-FoundViruses:
description: JSON array of found virus names, or empty if clean
schema:
type: string
X-CDR-HashSHA1:
description: SHA1 hash of the input file
schema:
type: string
content:
application/octet-stream:
schema:
format: binary
type: string
'400':
description: Bad Request
headers:
X-CDR-CleanResult:
description: Whether the file passed the virus scan
schema:
type: boolean
X-CDR-ContainsExecutable:
description: File contains executable content
schema:
type: boolean
X-CDR-ContainsInvalidFile:
description: File is invalid for its detected type
schema:
type: boolean
X-CDR-ContainsScript:
description: File contains scripts
schema:
type: boolean
X-CDR-ContainsPasswordProtectedFile:
description: File is password-protected
schema:
type: boolean
X-CDR-ContainsRestrictedFileFormat:
description: File is a restricted format
schema:
type: boolean
X-CDR-ContainsMacros:
description: File contains macros
schema:
type: boolean
X-CDR-ContainsXmlExternalEntities:
description: File has XXE references
schema:
type: boolean
X-CDR-ContainsInsecureDeserialization:
description: File has insecure deserialization
schema:
type: boolean
X-CDR-ContainsHtml:
description: File contains HTML
schema:
type: boolean
X-CDR-ContainsUnsafeArchive:
description: File is an unsafe archive
schema:
type: boolean
X-CDR-ContainsOleEmbeddedObject:
description: File has OLE embedded objects
schema:
type: boolean
X-CDR-ContainsUnwantedAction:
description: File has unwanted actions
schema:
type: boolean
X-CDR-ContainsJSON:
description: File contains JSON
schema:
type: boolean
X-CDR-ContainsXML:
description: File contains XML
schema:
type: boolean
X-CDR-ContainsImage:
description: File contains images
schema:
type: boolean
X-CDR-IsAuthenticodeSigned:
description: File is Authenticode signed
schema:
type: boolean
X-CDR-MetadataRemoved:
description: Document metadata was removed before conversion
schema:
type: boolean
X-CDR-NetworkContentRemoved:
description: Network content (e.g., remote image URLs) was found and removed
schema:
type: boolean
X-CDR-VerifiedFileFormat:
description: Detected file format (e.g., .docx)
schema:
type: string
X-CDR-FoundViruses:
description: JSON array of found virus names, or empty if clean
schema:
type: string
X-CDR-HashSHA1:
description: SHA1 hash of the input file
schema:
type: string
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
'401':
description: Unauthorized
content:
application/octet-stream:
schema:
$ref: '#/components/schemas/ProblemDetails'
requestBody:
content:
multipart/form-data:
schema:
type: object
properties:
InputFile:
type: string
description: Input document to CDR process
format: binary
components:
schemas:
ProblemDetails:
type: object
properties:
type:
type: string
title:
type: string
status:
format: int32
type: integer
detail:
type: string
instance:
type: string
additionalProperties: {}
securitySchemes:
Apikey:
type: apiKey
name: Apikey
in: header
description: API Key Authentication
x-provenance:
method: harvested
publisher: Cloudmersive
source: https://api-console.cloudmersive.com/swagger/api/spec/cdr
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)