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, and subject 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

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to redact.
words_to_redactarray[string]An array of words to be redacted from the document.

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pagesarray[int]nullOptionally specify pages to apply to. If left empty, all pages will apply.
draw_black_boxboolTrueHave a Black Box drawn over redacted text areas.
match_whole_wordboolTrueAllow partial matches within words be redacted too.
match_caseboolnullMatch case for the words to be redacted.
overlay_textstringnullIf 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_pdfaboolFalseSave the PDF with PDF/A-3 compliance.
save_as_pdfuaboolFalseSave the PDF with PDF/UA compliance.

Optional Headers

NameData TypeDescription
authorstringSet the PDF Metadata Author property.
titlestringSet the PDF Metadata Title property.
subjectstringSet 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' \
CURL

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

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

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to redact.
regular_expressionstringRegular Expression from which matching cases will be redacted from the document.

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pagesarray[int]nullOptionally specify pages to apply to. If left empty, all pages will apply.
draw_black_boxboolTrueHave a Black Box drawn over redacted text areas.
overlay_textstringnullIf 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_pdfaboolFalseSave the PDF with PDF/A-3 compliance.
save_as_pdfuaboolFalseSave the PDF with PDF/UA compliance.

Optional Headers

NameData TypeDescription
authorstringSet the PDF Metadata Author property.
titlestringSet the PDF Metadata Title property.
subjectstringSet 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' \
CURL

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

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

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to redact.
region_to_redact_xfloatX coordinate of the region to redact, starting from the bottom-left of the page.
region_to_redact_yfloatY coordinate of the region to redact, starting from the bottom-left of the page.
region_to_redact_wfloatWidth of the region to redact, starting from the specified X coordinate.
region_to_redact_hfloatHeight of the region to redact, starting from the specified Y coordinate.

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pagesarray[int]nullOptionally specify pages to apply to. If left empty, all pages will apply.
draw_black_boxboolTrueHave a Black Box drawn over redacted text areas.
save_as_pdfaboolFalseSave the PDF with PDF/A-3 compliance.
save_as_pdfuaboolFalseSave the PDF with PDF/UA compliance.

Optional Headers

NameData TypeDescription
authorstringSet the PDF Metadata Author property.
titlestringSet the PDF Metadata Title property.
subjectstringSet 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' \
CURL

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

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 apdf_fileobject in the request body, and a certificate file as acertificate_file` object in the request body.

Required Request Body Parameters

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to certify.
certificate_fileapplication/x-pkcs12 fileThe certificate file (.p12, .pfx) to use for certification.
certificate_passwordstringPassword for the provided certificate file.
certificate_permissionsintPermission type for the certification: 0 : Default, 1 : FormFillingAllowed, 2 : FormFillingAndAnnotationsAllowed, 3 : NoChangesAllowed

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pagesarray[int]nullOptionally specify pages to apply to. If left empty, all pages will apply.
save_as_pdfaboolFalseSave the PDF with PDF/A-3 compliance.
save_as_pdfuaboolFalseSave the PDF with PDF/UA compliance.

Optional Headers

NameData TypeDescription
authorstringSet the PDF Metadata Author property.
titlestringSet the PDF Metadata Title property.
subjectstringSet 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' \
CURL

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' \
CURL

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

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to encrypt.
allow_extracting_contentboolAllow the extraction of content from the PDF file.
allow_form_fillingboolAllow the filling of forms in the resulting PDF.
allow_annotationsboolAllow the addition or modification of annotations in the resulting PDF.
allow_printingboolAllow printing of the resulting PDF.
allow_modificationsboolAllow modifications to the resulting PDF.
new_owner_passwordstringNew owner password for the output PDF. Grants full access, including changing permissions and passwords.

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
new_user_passwordstringnullNew user password for the output PDF. Grants read access and other specified permissions.
save_as_pdfaboolFalseSave the PDF with PDF/A-3 compliance.
save_as_pdfuaboolFalseSave the PDF with PDF/UA compliance.

Optional Headers

NameData TypeDescription
authorstringSet the PDF Metadata Author property.
titlestringSet the PDF Metadata Title property.
subjectstringSet 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' \
CURL

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

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

NameData TypeDescription
pdf_fileapplication/pdf fileThe PDF file to encrypt.

Optional Request Body Parameters

NameData TypeDefaultDescription
user_passwordstringnullUser password for the input PDF. Required if the PDF has a user password to grant read access.
owner_passwordstringnullOwner password for the input PDF. Required if the PDF has an owner password to grant access to make modifications.
specific_pagesarray[int]nullOptionally 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' \
CURL

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

Response:

  • 200 OK with the extracted text as a response.