REST API for IronSecureDoc
This is the REST API Reference for your instance of IronSecureDoc. This tutorial assumes you alreday have a container instance running, if you are looking to Get Started please follow our Guide.
Jump to features:
- Check License Key
- Redact PDF Functionality
- Sign PDF Functionality
- Protect PDF Functionality
Tips
- The placeholder of
http://localhost:8080/
will be used for the URL in all examples. Please ensure you replace it with your URL. - Make sure to replace the placeholder values (e.g.,
path/to/your/file.pdf
,certificate_password
, etc.) with actual values. - The
author
,title
, andsubject
headers are included in all request examples.
[GET] Health Check
Endpoint: http://localhost:8080/v1/document-services/ping
Health check endpoint to verify that the server is running.
Response: 200 OK: pong
[GET] Check License
Endpoint: http://localhost:8080/v1/document-services/check-license
Verifies the validity of the license.
Response: 200 OK: Valid
[POST] Redact Text
Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-text
Hides sensitive words in a PDF format document using true redaction. Include a PDF file as a pdf_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'words_to_redact="pdf"' \
-F 'draw_black_box=true' \
-F 'match_whole_word=true' \
-F 'match_case=true' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'words_to_redact="pdf"' \
-F 'draw_black_box=true' \
-F 'match_whole_word=true' \
-F 'match_case=true' \
All Required and Optional Parameters:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'words_to_redact="word1"' \
-F 'words_to_redact="word2"' \
-F 'draw_black_box=true' \
-F 'match_whole_word=true' \
-F 'match_case=true' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'overlay_text="REDACTED"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/redact-text' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'words_to_redact="word1"' \
-F 'words_to_redact="word2"' \
-F 'draw_black_box=true' \
-F 'match_whole_word=true' \
-F 'match_case=true' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'overlay_text="REDACTED"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the redacted PDF file attached.
[POST] Redact Regular Expression
Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-regular-expression
Hides sensitive Regular Expression matches (such as dates, names, or patters) in a PDF format document using true redaction. Include a PDF file as a pdf_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'regular_expression="[0-9]"' \
-F 'draw_black_box=true' \
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'regular_expression="[0-9]"' \
-F 'draw_black_box=true' \
All Required and Optional Parameters:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'regular_expression="[0-9]"' \
-F 'draw_black_box=true' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'overlay_text="%2A"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-regular-expression' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'regular_expression="[0-9]"' \
-F 'draw_black_box=true' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'overlay_text="%2A"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the redacted PDF file attached.
[POST] Redact Region
Endpoint: http://localhost:8080/v1/document-services/pdfs/redact-region
Description: Hides sensitive text in a specific region of a PDF document using true redaction. Include a PDF file as a pdf_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-region' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'region_to_redact_x=100' \
-F 'region_to_redact_y=150' \
-F 'region_to_redact_w=500' \
-F 'region_to_redact_h=400' \
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-region' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'region_to_redact_x=100' \
-F 'region_to_redact_y=150' \
-F 'region_to_redact_w=500' \
-F 'region_to_redact_h=400' \
All Required and Optional Parameters:
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-region' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'region_to_redact_x=100' \
-F 'region_to_redact_y=150' \
-F 'region_to_redact_w=500' \
-F 'region_to_redact_h=400' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
curl -X 'POST' \
'http://localhost:8080/v1/document-services/pdfs/redact-region' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'region_to_redact_x=100' \
-F 'region_to_redact_y=150' \
-F 'region_to_redact_w=500' \
-F 'region_to_redact_h=400' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the redacted PDF file attached.
[POST] Certify / Apply Digital Signature
Endpoint: http://localhost:8080/v1/document-services/pdfs/certify
Description: Adds a certification to a PDF document to assert that it has not been tampered with by means of a Certificate file (.p12, .pfx). Include a PDF file as a pdf_file
object in the request body, and a certificate file as a certificate_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
All Required and Optional Parameters:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/certify' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the certified PDF file attached.
[POST] Sign with Signature and Certificate
Endpoint: http://localhost:8080/v1/document-services/pdfs/sign
Description: Adds an image and certification to that image in a PDF document to assert that it has not been tampered with by means of a Certificate file (.p12, .pfx). Include a PDF file as a pdf_file
object in the request body, and a certificate file as a certificate_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'signature_image_file=@autograph.png;type=image/png' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
-F 'sign_specific_page=0' \
-F 'signature_image_x=100' \
-F 'signature_image_y=150' \
-F 'signature_image_w=500' \
-F 'signature_image_h=400' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'signature_image_file=@autograph.png;type=image/png' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=1' \
-F 'sign_specific_page=0' \
-F 'signature_image_x=100' \
-F 'signature_image_y=150' \
-F 'signature_image_w=500' \
-F 'signature_image_h=400' \
All Required and Optional Parameters:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=0' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
-F 'sign_specific_page=0' \
-F 'signature_image_x=100' \
-F 'signature_image_y=150' \
-F 'signature_image_w=500' \
-F 'signature_image_h=400' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/sign' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'certificate_file=@sample.pfx;type=application/x-pkcs12' \
-F 'certificate_password="p4ssw0rd"' \
-F 'certificate_permissions=0' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
-F 'sign_specific_page=0' \
-F 'signature_image_x=100' \
-F 'signature_image_y=150' \
-F 'signature_image_w=500' \
-F 'signature_image_h=400' \
Response:
- 200 OK with the certified PDF file attached.
[POST] Verify Signatures
Endpoint: http://localhost:8080/v1/document-services/pdfs/verify-signatures
Description: Verifies that the user and owner password supplied are valid for the pdf_file
Required Request Body Parameters
Optional Request Body Parameters
Example:
Request
Required Parameters Only:
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
All Required and Optional Parameters:
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-signatures' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
Response:
- 200 OK if there are signatures and they are all Valid
- 400 BadRequest result if there are no Signatures or at lease one is Invalid
[POST] Encrypt / Add Password & Permissions
Endpoint: http://localhost:8080/v1/document-services/pdfs/encrypt
Description: Adds a layer of security to a PDF document by encrypting it with a user and owner password. Include a PDF file as a pdf_file object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Optional Headers
Example:
Request
Required Parameters Only:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'allow_extracting_content=true' \
-F 'allow_form_filling=true' \
-F 'allow_annotations=true' \
-F 'allow_printing=true' \
-F 'allow_modifications=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'allow_extracting_content=true' \
-F 'allow_form_filling=true' \
-F 'allow_annotations=true' \
-F 'allow_printing=true' \
-F 'allow_modifications=false' \
All Required and Optional Parameters:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'allow_extracting_content=true' \
-F 'allow_form_filling=true' \
-F 'allow_annotations=true' \
-F 'allow_printing=true' \
-F 'allow_modifications=false' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'new_user_password="p4ssw0rd"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/encrypt' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'allow_extracting_content=true' \
-F 'allow_form_filling=true' \
-F 'allow_annotations=true' \
-F 'allow_printing=true' \
-F 'allow_modifications=false' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'new_user_password="p4ssw0rd"' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the encrypted PDF file attached.
[POST] Extract Text from a Document
Endpoint: http://localhost:8080/v1/document-services/pdfs/extract
Description: Extracts text embedded in the pages of a document. Include a PDF file as a pdf_file
object in the request body.
Required Request Body Parameters
Optional Request Body Parameters
Example:
Request
Required Parameters Only:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
-H 'accept: */*' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
All Required and Optional Parameters:
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
curl -X POST 'http://localhost:8080/v1/document-services/pdfs/extract' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
Response:
- 200 OK with the extracted text as a response.
[POST] Verify Document Password
Endpoint: http://localhost:8080/v1/document-services/pdfs/verify-password
Description: Verifies that the user and owner password supplied are valid for the pdf_file
Required Request Body Parameters
Example:
Request
Required Parameters Only:
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-password' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
curl -X POST 'https://api.securedoc.com/v1/document-services/pdfs/verify-password' \
-H 'accept: */*' \
-H 'author: Iron Software | IRONSECUREDOC' \
-H 'title: WEBSITE DEMO 2024' \
-H 'subject: DEMO EXAMPLE' \
-H 'Content-Type: multipart/form-data' \
-F 'pdf_file=@sample.pdf;type=application/pdf' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
Response:
- 200 OK