Download OpenAPI specification:
This API documentation describes the publicly available Validation and Conversion Service of Skribble.
| username required | string Your API key name |
| api-key required | string Your API key secret |
{- "username": "api_demo_xxx",
- "api-key": "your_secret_here"
}eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSld...
Validate signatures in digitally signed content, such as a PDF or XML file. A validation ID {id} is returned that can be used to call additional endpoints. The content to be validated is provided in the request body and is not retained within our service. The maximum request or file size is 50MB. Request parameters can be used to set optional parameters to control the validation
| quality | string Enum: "SES" "AES" "QES" Optional flag specifying the minimum signature quality required (SES, AES, QES). |
| longTermValidation | boolean Optional flag indicating whether the signature must be long-term valid. |
| legislation | string Enum: "WORLD" "CH" "EU" "CH_EU" Optional flag specifying the legislation to comply with (WORLD, CH, EU, CH_EU). |
| infos | Array of strings Items Enum: "validation" "format" "signer" Optional flag to request additional information, such as validation, format, or signer details. |
| rejectVisualDifferences | boolean Optional flag to specify if visual differences should be rejected. If 'true', validation will fail due to visual differences; if 'false' or not provided, visual differences will not cause validation to fail. |
| rejectUndefinedChanges | boolean Optional flag to specify if undefined changes should be rejected. If 'true', validation will fail due to undefined changes; if 'false' or not provided, undefined changes will not cause validation to fail. |
Content can be sent directly as a file or base64-encoded in a JSON object
| content required | string <binary> File content to validate (PDF or XML) |
{- "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "valid": true,
- "signatures": 1,
- "validSignatures": 1,
- "quality": "QES",
- "legislation": "CH",
- "longTermValidation": true,
- "visualDifferences": false,
- "undefinedChanges": false
}Validate digital signatures such as CMS and CAdES without providing the associated signed content. A validation ID {id} is returned that can be used to call additional endpoints. The signature to be validated is provided in the request body. Query parameters can be used to set optional parameters to control the validation.
| quality | string Enum: "SES" "AES" "QES" Optional flag specifying the minimum signature quality required (SES, AES, QES). |
| longTermValidation | boolean Optional flag indicating whether the signature must be long-term valid. |
| legislation | string Enum: "WORLD" "CH" "EU" "CH_EU" Optional flag specifying the legislation to comply with (WORLD, CH, EU, CH_EU). |
| infos | Array of strings Items Enum: "validation" "format" "signer" Optional flag to request additional information, such as validation, format, or signer details. |
Content can be sent directly as a file or base64-encoded in a JSON object
| content required | string <binary> File content to validate (PDF or XML) |
{- "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
- "valid": true,
- "signatures": 1,
- "validSignatures": 1,
- "quality": "QES",
- "legislation": "CH",
- "longTermValidation": true
}Validate a digital certificate outside of its use within signatures. A validation ID {id} is returned that can be used to call additional endpoints. The content to be validated is provided in the request body.
Content can be sent directly as a file or base64-encoded in a JSON object
| content required | string <binary> File content to validate (PDF or XML) |
{- "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
- "valid": true
}Deletes the corresponding resource identified by {id}, universal for all validation resources. Any resource that is not manually deleted will be automatically deleted after 10 minutes.
| id required | string <uuid> Default: "3fa85f64-5717-4562-b3fc-2c963f66afa6" The 'id' provided by the validate operation |
| id required | string <uuid> Default: "3fa85f64-5717-4562-b3fc-2c963f66afa6" The 'id' provided by the validate operation |
{- "indication": "TOTAL-FAILED",
- "subIndication": "HASH_FAILURE",
- "details": [
- "The certificate validation is not conclusive!",
- "The current time is not in the validity range of the signer's certificate!",
- "The signature is not intact!"
]
}Additional information about the people who signed the document. The query parameter is the id from the validation endpoint.
| id required | string <uuid> Default: "3fa85f64-5717-4562-b3fc-2c963f66afa6" The 'id' provided by the validate operation |
[- {
- "valid": true,
- "signer": "john.doe@acme.org",
- "time": "2018-11-28T11:51:58.637Z",
- "quality": "QES",
- "legislation": "CH",
- "longTermValidation": true,
- "visualDifferences": true,
- "undefinedChanges": true,
- "certificate": {
- "subject": "CN=John Doe, C=CH, SerialNumber=RAS64084aeaf178c31a",
- "issuer": "CN=Swisscom Diamant CA 4, OU=Digital Certificate Services, O=Swisscom (Schweiz) AG, C=ch",
- "serialNumber": "160038991315232382650416191585425640265"
}, - "optionalInfos": {
- "name": "John Doe",
- "contact": "john.doe@acme.org",
- "location": "Zurich, Switzerland",
- "reason": "john.doe@acme.org digitally signed on skribble.com"
}
}
]| id required | string <uuid> Default: "3fa85f64-5717-4562-b3fc-2c963f66afa6" The 'id' provided by the validate operation |
{- "fileType": "PDF",
- "producer": "Acrobat Distiller 6.0 (Windows)"
}Get the digitally signed Skribble validation report as PDF. The report is generated once per validation ID, language and ETSI attachment flag, then cached — subsequent requests with the same parameters are served from cache and not billed. Optionally attach the ETSI TS 119 102-2 XML validation report as an embedded file in the PDF.
| id required | string <uuid> Default: "3fa85f64-5717-4562-b3fc-2c963f66afa6" The 'id' provided by the validate operation |
| lang | string Default: "en" Enum: "en" "de" "fr" Language of the validation report |
| attachETSIReport | boolean Default: false Attach the ETSI TS 119 102-2 XML validation report as a file attachment to the PDF. When enabled, the XML report is embedded in the PDF and a paperclip annotation is added on the last page. This registers additional usage for the ETSI report endpoint. |
Upload a document to be used in the tooling process. A process ID {id} is returned which can be used to call additional endpoints. If not already a PDF, the uploaded document will be converted into one. The maximum request or file size is 50MB.
Content can be sent directly as a file or base64-encoded in a JSON object
| content required | string <binary> File content to upload for tooling processing |
{- "id": "1cbd5761-1429-437d-89c1-d8eacc49bf36",
- "name": "Sample File.pdf",
- "properties": {
- "sha1": "5e13ae4640ae4ae0e09c05b7bb060f544dabd042",
- "size": 123456,
- "pages": 3,
- "creation": "2024-05-30T13:45:00Z",
- "modification": "2024-06-08T15:47:00Z",
- "claimedConformance": "pdf-1.7"
}, - "permissions": {
- "canConform": true,
- "canCompress": true,
- "allowsSign": true,
- "allowsAnnotate": true,
- "allowsFill": true,
- "allowsModify": true
}, - "metadata": {
- "author": "Document author",
- "creator": "Document creator",
- "producer": "Document producer",
- "subject": "Document subject",
- "title": "Document title",
- "keywords": [
- "Keyword1",
- "Keyword2"
]
}
}Checks the document against a specific set of PDF conformance criteria and guidelines. Can be called multiple times to get current status and results; if relevant changes have been made to the document with other tools, it will process the document again. If the status '423 Locked' is returned it can be recalled with some delay.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
| conform required | string Default: "claimed" Enum: "claimed" "pdfa-1b" "pdfa-1a" "pdfa-2b" "pdfa-2u" "pdfa-2a" "pdfa-3b" "pdfa-3u" "pdfa-3a" PDF Conformance |
{- "status": "success",
- "conformance": "pdfa-2b",
- "claimedConformance": "pdfa-2b",
- "recommendedConformance": "pdfa-3a"
}Convert the document to a specific PDF conformance. Can be called multiple times to get current status and results; if relevant changes have been made to the document with other tools, it will process the document again. If the process status is 'pending', '423 Locked' is returned and it can be recalled with some delay.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
| conform required | string Default: "recommendedConformance" Enum: "recommendedConformance" "pdfa-1b" "pdfa-1a" "pdfa-2b" "pdfa-2u" "pdfa-2a" "pdfa-3b" "pdfa-3u" "pdfa-3a" PDF Conformance |
| allowdowngrade required | boolean Default: true Allows conformance downgrade in case of conversion error |
| force | boolean Forces process despite canConvert or canCompress state |
{- "status": "success",
- "conformance": "pdfa-3a",
- "downgraded": false,
- "claimedConformance": "pdfa-2b"
}Compress the document for a specific purpose. For best size and compliance, this should be done before any /convert. Can be called multiple times to get current status and results; if relevant changes have been made to the document with other tools, it will process the document again. If '423 Locked' is returned it can be recalled with some delay.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
| optimise required | string Default: "size" Enum: "archive" "print" "size" "web" PDF Optimisation |
| force | boolean Forces process despite canConvert or canCompress state |
{- "status": "success",
- "optimisation": "size",
- "claimedConformance": "pdf-1.5",
- "pages": 12,
- "originalSize": 907128,
- "newSize": 228161,
- "compressionRatio": 3.975824,
- "spaceSaving": 0.7484798176
}Spots and detects document elements such as fields, signatures, and positions using tags and artificial intelligence. After detection, the document is updated and fields and tags are removed while maintaining current PDF compliance. Can be called multiple times to get current status and results; if relevant changes have been made to the document with other tools, it will process the document again. If the process status is 'pending', '423 Locked' is returned and it can be recalled with some delay.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
{- "status": "success",
- "results": {
- "quality": "QES",
- "legislation": "CH",
- "signers": [
- {
- "signer": "John Doe",
- "email": "john.doe@acme.org",
- "sequence": 1
}, - {
- "signer": "Jane Doe",
- "email": "jane.doe@acme.org",
- "sequence": 2
}
], - "signatures": [
- {
- "signer": "John Doe",
- "positions": [
- {
- "page": 0,
- "height": 70,
- "width": 150,
- "x": 350,
- "y": 240
}
]
}, - {
- "signer": "Jane Doe",
- "positions": [
- {
- "page": 0,
- "height": 70,
- "width": 150,
- "x": 500,
- "y": 240
}
]
}
], - "observers": [
- "backoffice@acme.org"
]
}
}Download the processed document with the changes and enhancements made according to the specified processing steps. If the status '423 Locked' is returned it can be recalled with some delay.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
Terminates all running processes on the document and deletes all associated content. This action occurs automatically after 10 minutes if not explicitly invoked.
| id required | string <uuid> Default: "1cbd5761-1429-437d-89c1-d8eacc49bf36" The 'id' provided by the tooling upload operation |
Endpoints for managing account credits, billing information, and payment operations.
Get invoiced credit details for the most recent billing period or a specified time period
| period | string Format YYYY, YYYYMM, YYYYMMDD is supported. If not specified the last invoiced period is used by default |
{- "period": "20240528",
- "usage": [
- {
- "endpoint": "/validate/document",
- "requests": 2,
- "credits": 4
}
], - "requests": 2,
- "credits": 4
}