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.
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
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to redact. |
words_to_redact | array[string] | An array of words to be redacted from the document. |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
specific_pages | array[int] | null | Optionally specify pages to apply to. If left empty, all pages will apply. |
draw_black_box | bool | True | Have a Black Box drawn over redacted text areas. |
match_whole_word | bool | True | Allow partial matches within words be redacted too. |
match_case | bool | null | Match case for the words to be redacted. |
overlay_text | string | null | If your prefer an Overlay Text on the redaction area such as words or symbols, set them here. If not set, a blank character will be used. |
save_as_pdfa | bool | False | Save the PDF with PDF/A-3 compliance. |
save_as_pdfua | bool | False | Save the PDF with PDF/UA compliance. |
Optional Headers
Name | Data Type | Description |
---|---|---|
author | string | Set the PDF Metadata Author property. |
title | string | Set the PDF Metadata Title property. |
subject | string | Set the PDF Metadata Subject property. |
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' \
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' \
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
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to redact. |
regular_expression | string | Regular Expression from which matching cases will be redacted from the document. |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
specific_pages | array[int] | null | Optionally specify pages to apply to. If left empty, all pages will apply. |
draw_black_box | bool | True | Have a Black Box drawn over redacted text areas. |
overlay_text | string | null | If your prefer an Overlay Text on the redaction area such as words or symbols, set them here. If not set, a blank character will be used. |
save_as_pdfa | bool | False | Save the PDF with PDF/A-3 compliance. |
save_as_pdfua | bool | False | Save the PDF with PDF/UA compliance. |
Optional Headers
Name | Data Type | Description |
---|---|---|
author | string | Set the PDF Metadata Author property. |
title | string | Set the PDF Metadata Title property. |
subject | string | Set the PDF Metadata Subject property. |
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' \
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' \
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
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to redact. |
region_to_redact_x | float | X coordinate of the region to redact, starting from the bottom-left of the page. |
region_to_redact_y | float | Y coordinate of the region to redact, starting from the bottom-left of the page. |
region_to_redact_w | float | Width of the region to redact, starting from the specified X coordinate. |
region_to_redact_h | float | Height of the region to redact, starting from the specified Y coordinate. |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
specific_pages | array[int] | null | Optionally specify pages to apply to. If left empty, all pages will apply. |
draw_black_box | bool | True | Have a Black Box drawn over redacted text areas. |
save_as_pdfa | bool | False | Save the PDF with PDF/A-3 compliance. |
save_as_pdfua | bool | False | Save the PDF with PDF/UA compliance. |
Optional Headers
Name | Data Type | Description |
---|---|---|
author | string | Set the PDF Metadata Author property. |
title | string | Set the PDF Metadata Title property. |
subject | string | Set the PDF Metadata Subject property. |
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' \
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' \
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_fileobject in the request body, and a certificate file as a
certificate_file` object in the request body.
Required Request Body Parameters
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to certify. |
certificate_file | application/x-pkcs12 file | The certificate file (.p12, .pfx) to use for certification. |
certificate_password | string | Password for the provided certificate file. |
certificate_permissions | int | Permission type for the certification: 0 : Default, 1 : FormFillingAllowed, 2 : FormFillingAndAnnotationsAllowed, 3 : NoChangesAllowed |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
specific_pages | array[int] | null | Optionally specify pages to apply to. If left empty, all pages will apply. |
save_as_pdfa | bool | False | Save the PDF with PDF/A-3 compliance. |
save_as_pdfua | bool | False | Save the PDF with PDF/UA compliance. |
Optional Headers
Name | Data Type | Description |
---|---|---|
author | string | Set the PDF Metadata Author property. |
title | string | Set the PDF Metadata Title property. |
subject | string | Set the PDF Metadata Subject property. |
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=0' \
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=0' \
-F 'user_password="password"' \
-F 'owner_password="5yug2RT45th32h78"' \
-F 'specific_pages=0' \
-F 'specific_pages=1' \
-F 'save_as_pdfa=false' \
-F 'save_as_pdfua=false' \
Response:
- 200 OK with the certified PDF file attached.
[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
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to encrypt. |
allow_extracting_content | bool | Allow the extraction of content from the PDF file. |
allow_form_filling | bool | Allow the filling of forms in the resulting PDF. |
allow_annotations | bool | Allow the addition or modification of annotations in the resulting PDF. |
allow_printing | bool | Allow printing of the resulting PDF. |
allow_modifications | bool | Allow modifications to the resulting PDF. |
new_owner_password | string | New owner password for the output PDF. Grants full access, including changing permissions and passwords. |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
new_user_password | string | null | New user password for the output PDF. Grants read access and other specified permissions. |
save_as_pdfa | bool | False | Save the PDF with PDF/A-3 compliance. |
save_as_pdfua | bool | False | Save the PDF with PDF/UA compliance. |
Optional Headers
Name | Data Type | Description |
---|---|---|
author | string | Set the PDF Metadata Author property. |
title | string | Set the PDF Metadata Title property. |
subject | string | Set the PDF Metadata Subject property. |
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' \
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' \
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
Name | Data Type | Description |
---|---|---|
pdf_file | application/pdf file | The PDF file to encrypt. |
Optional Request Body Parameters
Name | Data Type | Default | Description |
---|---|---|---|
user_password | string | null | User password for the input PDF. Required if the PDF has a user password to grant read access. |
owner_password | string | null | Owner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications. |
specific_pages | array[int] | null | Optionally specify pages to apply to. If left empty, all pages will apply. |
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' \
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' \
Response:
- 200 OK with the extracted text as a response.