-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathesignature.openapi.json
More file actions
1 lines (1 loc) · 110 KB
/
Copy pathesignature.openapi.json
File metadata and controls
1 lines (1 loc) · 110 KB
1
{"openapi":"3.0.0","info":{"title":"E-Signature","description":"This API is a robust tool designed for developers and businesses looking to automate and integrate secure document signing processes into their applications. This API is fully compliant with eIDAS regulations, ensuring that all signatures meet strict European standards for legal validity.\n The documentation outlines a comprehensive suite of features, allowing users to implement various types of digital signatures, including Simple Electronic Signatures (SES) secured via OTP, Qualified Electronic Seals, and Massive Automatic Qualified Electronic Signatures (QES) for high-volume needs. Key functionalities include the ability to timestamp documents, manage certificates, and access detailed audit logs to track the entire signing lifecycle.\n The Swagger UI provided in the documentation enables developers to explore and test endpoints directly, managing signature flows, and verifying certification status facilitating a smooth integration process for dematerializing paper-based workflows.","termsOfService":"https://openapi.it/en/terms-and-conditions","version":"1.0.17","contact":{"url":"https://openapi.it/en/support","name":"Support"}},"externalDocs":{"description":"First time here? Generate a new access token","url":"https://console.openapi.com/oauth"},"servers":[{"url":"https://esignature.openapi.com","description":"Production"},{"url":"https://test.esignature.openapi.com","description":"Sandbox"}],"tags":[{"name":"Certificates","description":"Purchase or renew signature certificates","externalDocs":{"description":"Find out more","url":"https://openapi.com/trust-services"}},{"name":"Signatures","description":"Apply an electronic signature to a file"}],"security":[{"bearerAuth":[]}],"paths":{"/certificates":{"get":{"tags":["Certificates"],"summary":"Get a list of certificates","description":"Get a list of certificates. The list can be filtered by certificateType and state. The available types are: EU-QES_automaticm EU-QES_otp. The available states are: NEW, EXPIRED, and SUSPENDED.","operationId":"get_certificates","parameters":[{"name":"certificateType","in":"query","description":"Type of certificate","schema":{"type":"string","enum":["EU-QES_automatic","EU-QES_otp","EU-QES_eseal"]},"example":"EU-QES_automatic"},{"name":"state","in":"query","description":"State of the certificate","schema":{"type":"string","enum":["NEW","EXPIRED","SUSPENDED"]},"example":"NEW"},{"name":"skip","in":"query","description":"Number of items to skip","schema":{"type":"integer","default":0,"minimum":0},"example":0},{"name":"limit","in":"query","description":"Maximum number of items to return (min 1 max 100)","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"example":100}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/CertificateListObject"}}}}},"400":{"description":"Invalid input"}}}},"/certificates/{id}":{"get":{"tags":["Certificates"],"summary":"Get a certificate","description":"Get a certificate by ID. The certificate ID is required to access the service.","operationId":"get_certificates__id_","parameters":[{"name":"id","in":"path","description":"ID of the certificate","required":true,"schema":{"type":"string"},"example":"67af24c5af9b55291406e946"}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateObject"}}}},"400":{"description":"Invalid input"},"404":{"description":"Certificate not found"}}}},"/certificates/namirial-automatic":{"post":{"tags":["Certificates"],"summary":"Purchase a Namirial Automatic Certificate","description":"Purchase a Namirial Automatic Certificate which is valid for 3 years and can be used to sign documents in CAdES, PAdES, XAdES, and PKCS#1 formats. The procedure returns a certificateLink which is a one time procedure from the certification autority to qualify the owner of the certificate.\n\n Once the procedure is complete the signer will receive an email containing a PDF file protected by a password and a link to receive the password by SMS. The PDF file contains the necessary credentials.\n\n The callback object isn't required.","operationId":"post_certificates_namirial_automatic","requestBody":{"description":"Create a new Namirial Automatic Certificate request by specifying the certificate details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateNamirial_POST"}}},"required":true},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the certificate","example":"67af24c5af9b55291406e946"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_automatic","enum":["EU-QES_automatic","EU-QES_otp","EU-QES_eseal"]},"state":{"type":"string","description":"State of the request","example":"DONE","enum":["NEW","DONE","REGISTERING","WORKING","CANCELLED"]},"certificateLink":{"type":"string","format":"uri","description":"URL to start the certificate attribution procedure","example":"https://my-domain.com/certificate.html"},"certificateOwner":{"type":"object","description":"Information about the certificate owner","properties":{"owner":{"type":"string","description":"Owner reference for the certificate","example":"Mario Rossi"},"customReference":{"type":"string","description":"Custom reference for the certificate","example":"MyCustomReference#123"}}},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"expireAt":{"type":"string","description":"Date and time of expiration","example":"2028-02-14 11:11:01.892+00:00"}}},"success":{"type":"boolean","description":"Operation success","example":true},"message":{"type":"string","description":"Message","example":"Certificate purchased successfully"},"error":{"type":"string","nullable":true,"description":"Error code","example":""}}}}}},"404":{"description":"Certificate Unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true},"success":{"type":"boolean","description":"Operation Failed","example":false},"message":{"type":"string","description":"Message","example":"No namirial-automatic certificate available on stock. Contact us for more information"},"error":{"type":"integer","nullable":true,"description":"Error code","example":305}}}}}}}}},"/certificates/namirial-otp":{"post":{"tags":["Certificates"],"summary":"Purchase a Namirial OTP Certificate","description":"Purchase a Namirial OTP Certificate. The certificate is valid for 3 years and can be used to sign documents in CAdES, PAdES, XAdES, and PKCS#1 formats.","operationId":"post_certificates_namirial_otp","requestBody":{"description":"Create a new Namirial Automatic Certificate request by specifying the certificate details.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateNamirial_POST"}}},"required":true},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","properties":{"id":{"type":"string","description":"ID of the certificate","example":"67af24c5af9b55291406e946"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_otp","enum":["EU-QES_automatic","EU-QES_otp"]},"state":{"type":"string","description":"State of the request","example":"DONE","enum":["NEW","DONE","REGISTERING","WORKING","CANCELLED"]},"certificateLink":{"type":"string","format":"uri","description":"URL to start the certificate attribution procedure","example":"https://my-domain.com/certificate.html"},"certificateOwner":{"type":"object","description":"Information about the certificate owner","properties":{"owner":{"type":"string","description":"Owner reference for the certificate","example":"Mario Rossi"},"customReference":{"type":"string","description":"Custom reference for the certificate","example":"MyCustomReference#123"}}},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"expireAt":{"type":"string","description":"Date and time of expiration","example":"2028-02-14 11:11:01.892+00:00"}}},"success":{"type":"boolean","description":"Operation success","example":true},"message":{"type":"string","description":"Message","example":"Certificate purchased successfully"},"error":{"type":"string","nullable":true,"description":"Error code","example":""}}}}}},"404":{"description":"Certificate Unavailable","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","nullable":true},"success":{"type":"boolean","description":"Operation Failed","example":false},"message":{"type":"string","description":"Message","example":"No namirial-otp certificate available on stock. Contact us for more information"},"error":{"type":"integer","nullable":true,"description":"Error code","example":305}}}}}}}}},"/signatures":{"get":{"tags":["Signatures"],"summary":"Get a list of signatures","description":"Get a list of signatures. The list can be filtered by state, certificate type, and signature type. The available states are: WAIT_VALIDATION, WAIT_SIGN, WAIT_SIGNER, DONE, and ERROR. The available certificate types are: EU-QES_automatic, EU-QES_otp and EU-SES. The available signature types are: cades, pades, xades and pkcs1.","operationId":"get_signatures","parameters":[{"name":"state","in":"query","description":"State of the signature","schema":{"type":"string","enum":["WAIT_VALIDATION","WAIT_SIGN","WAIT_SIGNER","DONE","ERROR"]},"example":"DONE"},{"name":"certificateType","in":"query","description":"Type of certificate","schema":{"type":"string","enum":["EU-QES_automatic","EU-QES_otp"]},"example":"EU-QES_automatic"},{"name":"signatureType","in":"query","description":"Type of the signature","schema":{"type":"string","enum":["cades","pades","xades","pkcs1"]},"example":"pades"},{"name":"skip","in":"query","description":"Number of items to skip","schema":{"type":"integer","default":0,"minimum":0},"example":0},{"name":"limit","in":"query","description":"Maximum number of items to return (min 1 max 100)","schema":{"type":"integer","default":100,"maximum":100,"minimum":1},"example":100}],"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SignatureListElement"}},"examples":{"LIST":{"$ref":"#/components/examples/SignatureList"}}}}},"404":{"description":"No signatures found"}}}},"/signatures/{id}/{actionType}":{"get":{"tags":["Signatures"],"summary":"Download the signed Document, get the details, audit Trail or the validatedDocument of a signature","description":"Get the detail, audit, the signedDocument or the validatedDocument of a signature.<br> The signature ID is required to access the service.<br> The actionType parameter can be used to specify the type of information to retrieve.<br> The available options are: signedDocument, validatedDocument, audit and detail.<br>The signedDocument and validatedDocument returns the binary content of the file ready to be donwloaded.<br>The audit trail is available in multiple format based on the request header Accept value.<br> The available formats are: application/json, text/plain, text/html, application/pdf.","operationId":"get_signatures__id___actionType_","parameters":[{"name":"id","in":"path","description":"ID of the signature","required":true,"schema":{"type":"string"},"example":"67af24c5af9b55291406e946"},{"name":"actionType","in":"path","description":"Type of action to perform, \"detail\" or leave empty for the signed document info, \"signedDocument\", \"audit\" for the audit trail or \"validatedDocument\"","required":true,"schema":{"type":"string","default":"","enum":["detail","audit","signedDocument","validatedDocument",""]},"example":"detail"}],"responses":{"200":{"$ref":"#/components/responses/signatures200"},"400":{"description":"Invalid input"},"404":{"description":"Signature not found"}}}},"/EU-QES_automatic":{"post":{"tags":["Signatures"],"summary":"Create QES Signature using Massive Automatic Certificate","description":"Create a signature procedure from one or more files. \n### Obtaining the certificate:\n To access the service, you need an automatic certificate that can be purchased through\n the appropriate endpoint \"/certificates/namirial-automatic\". \n\n### Available formats:\n The system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. \n \n\n If not specified, the system will look\n for the most suitable format based on the mimeType of the uploaded\n file.\n\n### Input files:\n It is possible to upload single and multiple input files both\n in base64 format and by specifying the resource URL and any\n authentication parameters.\n\n\n - In the case of uploading multiple files\n with PAdES signature, they will be merged into a single signed pdf\n document. \n \n - In the case of signing multiple files in CAdES format, a zip\n file will be generated and signed.\n\n### Asynchronous mode, batch processing, callback and detached signature:\n For massive signing of large quantities of files, it is possible to upload and sign in asynchronous\n mode. An authenticated callback system is available to receive\n updates. \n\n It is also possible to sign the hash of the original file\n directly and obtain only the \"detached\" signature file.\n\n### Document and data retention in the system:\n Signature <b>structured data</b> details and <b>audit trail</b> will be stored in the system for a maximum of <b>1 year</b>.\n <b>Signed documents</b>, uploaded documents and validated documents will remain in the system for a maximum of <b>30 days</b> to allow for downloading.\n After this period, the documents will be automatically deleted.\n \n### Qualified Timestamping available:\n A qualified timestamping option is available. There is also an option to use qualified timestamping credentials already in your possession. In this case, the system allows you to specify the authentication URL of the relevant certification authority.\n \n\n### Sandbox:\n For testing purposes, you can use the following credentials:\n - certificateUsername: \"openapiSandboxUsername\"\n - certificatePassword: \"openapiSandboxPassword\"","operationId":"post_EU_QES_automatic","requestBody":{"description":"Create a new massive automaitc signature request by specifying the input files and the certificate credentials.\n\nThe system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. If not specified, the system will look for the most suitable format based on the mimeType of the uploaded file.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EU-QES_POST"},"examples":{"cades":{"summary":"CAdES signature of a base64 file sent with inputDocumentObject","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"CAdES Signature","description":"CAdES signature of a base64 file","signatureType":"cades"}},"pades":{"summary":"PAdES signature from a remote file and a base64 file","value":{"inputDocuments":[{"sourceType":"remote","url":"https://my-domain.com/remoteResource.pdf"},{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"PAdES Signature","description":"PAdES signature of a remote and base64 file","signatureType":"pades"}},"xades":{"summary":"XAdES signature from base64 file","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"XAdES Signature","description":"XAdES signature of a base64 file","signatureType":"xades"}},"pkcs1":{"summary":"PKCS1 signature from base64 encoded file hash","value":{"inputDocuments":[{"sourceType":"base64Hash","payload":"msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"PKCS1 Signature","description":"PKCS1 signature of a base64 encoded file hash","signatureType":"pkcs1"}}}}},"required":true},"callbacks":{"callback":{"{$request.body#/callback/url}":{"post":{"requestBody":{"$ref":"#/components/requestBodies/SignatureCallback"},"responses":{"200":{"description":"Successful callback"},"400":{"description":"Invalid input"}}}}}},"responses":{"200":{"$ref":"#/components/responses/EU-QES_automatic200"},"422":{"$ref":"#/components/responses/POSTsignature422"}}}},"/EU-QES_otp":{"post":{"tags":["Signatures"],"summary":"Create QES Signature using Remote OTP Certificate","description":"Create a signature procedure from one or more files. \n### Obtaining the certificate:\n To access the service, you need an automatic certificate that can be purchased through\n the appropriate endpoint /certificates/namirial-otp. \n\n### Available formats:\n The system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. \n \n\n If not specified, the system will look\n for the most suitable format based on the mimeType of the uploaded\n file.\n\n### Input files:\n It is possible to upload single and multiple input files both\n in base64 format and by specifying the resource URL and any\n authentication parameters.\n\n\n - In the case of uploading multiple files\n with PAdES signature, they will be merged into a single signed pdf\n document. \n \n - In the case of signing multiple files in CAdES format, a zip\n file will be generated and signed.\n\n### Asynchronous mode, batch processing, callback and detached signature:\n For massive signing of large quantities of files, it is possible to upload and sign in asynchronous\n mode. An authenticated callback system is available to receive\n updates. \n\n It is also possible to sign the hash of the original file\n directly and obtain only the \"detached\" signature file.\n\n### Document and data retention in the system:\n Signature <b>structured data</b> details and <b>audit trail</b> will be stored in the system for a maximum of <b>1 year</b>.\n <b>Signed documents</b>, uploaded documents and validated documents will remain in the system for a maximum of <b>30 days</b> to allow for downloading.\n After this period, the documents will be automatically deleted.\n \n### Qualified Timestamping available:\n A qualified timestamping option is available. There is also an option to use qualified timestamping credentials already in your possession. In this case, the system allows you to specify the authentication URL of the relevant certification authority.\n \n\n### Sandbox:\n For testing purposes, you can use the following credentials:\n - certificateUsername: \"openapiSandboxUsername\"\n - certificatePassword: \"openapiSandboxPassword\"","operationId":"post_EU_QES_otp","requestBody":{"description":"Create a new massive automaitc signature request by specifying the input files and the certificate credentials.\n\nThe system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. If not specified, the system will look for the most suitable format based on the mimeType of the uploaded file.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EU-QES_POST"},"examples":{"cades":{"summary":"CAdES signature of a base64 file sent with inputDocumentObject","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","certificateOtp":"123456","certificateIdOtp":-1,"title":"CAdES Signature","description":"CAdES signature of a base64 file","signatureType":"cades"}},"pades":{"summary":"PAdES signature from a remote file and a base64 file","value":{"inputDocuments":[{"sourceType":"remote","url":"https://my-domain.com/remoteResource.pdf"},{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","certificateOtp":"123456","certificateIdOtp":-1,"title":"PAdES Signature","description":"PAdES signature of a remote and base64 file","signatureType":"pades"}},"xades":{"summary":"XAdES signature from base64 file","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","certificateOtp":"123456","certificateIdOtp":-1,"title":"XAdES Signature","description":"XAdES signature of a base64 file","signatureType":"xades"}},"pkcs1":{"summary":"PKCS1 signature from base64 encoded file hash","value":{"inputDocuments":[{"sourceType":"base64Hash","payload":"msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","certificateOtp":"123456","certificateIdOtp":-1,"title":"PKCS1 Signature","description":"PKCS1 signature of a base64 encoded file hash","signatureType":"pkcs1"}}}}},"required":true},"callbacks":{"callback":{"{$request.body#/callback/url}":{"post":{"requestBody":{"$ref":"#/components/requestBodies/SignatureCallback"},"responses":{"200":{"description":"Successful callback"},"400":{"description":"Invalid input"}}}}}},"responses":{"200":{"$ref":"#/components/responses/EU-QES_automatic200"},"422":{"$ref":"#/components/responses/POSTsignature422"}}}},"/EU-QES_eseal":{"post":{"tags":["Signatures"],"summary":"Create QES Signature using Remote E-seal Certificate","description":"Create a signature procedure from one or more files. \n### Obtaining the certificate:\n To access the service, you need an automatic certificate that can be purchased through\n <a href=\"https://console.openapi.com/support\">Our Customer Support</a>. \n\n### Available formats:\n The system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. \n \n\n If not specified, the system will look\n for the most suitable format based on the mimeType of the uploaded\n file.\n\n### Input files:\n It is possible to upload single and multiple input files both\n in base64 format and by specifying the resource URL and any\n authentication parameters.\n\n\n - In the case of uploading multiple files\n with PAdES signature, they will be merged into a single signed pdf\n document. \n \n - In the case of signing multiple files in CAdES format, a zip\n file will be generated and signed.\n\n### Asynchronous mode, batch processing, callback and detached signature:\n For massive signing of large quantities of files, it is possible to upload and sign in asynchronous\n mode. An authenticated callback system is available to receive\n updates. \n\n It is also possible to sign the hash of the original file\n directly and obtain only the \"detached\" signature file.\n\n### Document and data retention in the system:\n Signature <b>structured data</b> details and <b>audit trail</b> will be stored in the system for a maximum of <b>1 year</b>.\n <b>Signed documents</b>, uploaded documents and validated documents will remain in the system for a maximum of <b>30 days</b> to allow for downloading.\n After this period, the documents will be automatically deleted.\n \n### Qualified Timestamping available:\n A qualified timestamping option is available. There is also an option to use qualified timestamping credentials already in your possession. In this case, the system allows you to specify the authentication URL of the relevant certification authority.\n \n\n### Sandbox:\n For testing purposes, you can use the following credentials:\n - certificateUsername: \"openapiSandboxUsername\"\n - certificatePassword: \"openapiSandboxPassword\"","operationId":"post_EU_QES_eseal","requestBody":{"description":"Create a new massive automaitc signature request by specifying the input files and the certificate credentials.\n\nThe system can sign in CAdES, PAdES, XAdES, and PKCS#1 formats. If not specified, the system will look for the most suitable format based on the mimeType of the uploaded file.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EU-QES_POST"},"examples":{"cades":{"summary":"CAdES signature of a base64 file sent with inputDocumentObject","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"CAdES Signature","description":"CAdES signature of a base64 file","signatureType":"cades"}},"pades":{"summary":"PAdES signature from a remote file and a base64 file","value":{"inputDocuments":[{"sourceType":"remote","url":"https://my-domain.com/remoteResource.pdf"},{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"PAdES Signature","description":"PAdES signature of a remote and base64 file","signatureType":"pades"}},"xades":{"summary":"XAdES signature from base64 file","value":{"inputDocuments":[{"sourceType":"base64","payload":"BASE64string"}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"XAdES Signature","description":"XAdES signature of a base64 file","signatureType":"xades"}},"pkcs1":{"summary":"PKCS1 signature from base64 encoded file hash","value":{"inputDocuments":[{"sourceType":"base64Hash","payload":"msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY="}],"certificateUsername":"openapiSandboxUsername","certificatePassword":"openapiSandboxPassword","title":"PKCS1 Signature","description":"PKCS1 signature of a base64 encoded file hash","signatureType":"pkcs1"}}}}},"required":true},"callbacks":{"callback":{"{$request.body#/callback/url}":{"post":{"requestBody":{"$ref":"#/components/requestBodies/SignatureCallback"},"responses":{"200":{"description":"Successful callback"},"400":{"description":"Invalid input"}}}}}},"responses":{"200":{"$ref":"#/components/responses/EU-QES_automatic200"},"400":{"description":"Invalid input"},"422":{"description":"Validation exception"}}}},"/EU-SES":{"post":{"tags":["Signatures"],"summary":"Create a SES request for one or more signers.","description":"The call will return a link, one for each signer, to our **esign** webapp. In the webapp, each signer will be able to read the document and sign it after authenticating via OTP (which can be sent via SMS or email).\n For every signer, you **must** specify at least their mobile number or their email address where the OTP code will be sent, additionally you must specify how they'll authenticate within the authentication option. It is also possible to specify the message that will be sent along with the OTP code and how the signers are going to sign the document, by default they'll be able to sign either by typing their name or by drawing it.\n The user interface visible to the final signer is also completely customizable in the request. Document validation will be done asynchronously. If no signatures are passed for a signer, the default signature will be put in top left corner.","operationId":"post_EU_SES","requestBody":{"description":"Payload to create a new SES request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EU-SES_POST"}}},"required":true},"callbacks":{"callback":{"{$request.body#/callback/url}":{"post":{"requestBody":{"$ref":"#/components/requestBodies/SignatureCallback"},"responses":{"200":{"description":"Successful callback"},"400":{"description":"Invalid input"}}}}}},"responses":{"200":{"$ref":"#/components/responses/EU-SES200"},"422":{"description":"Validation exception. This error occurs if the request body fails semantic validation. Common reasons include:\n- The 'signers' array is missing or empty.\n- The 'inputDocuments' field is missing.\n- A 'callback' object is provided but is malformed.\n- An invalid value is passed within the 'options' object or the 'options' object isn't passed at all.\n","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","example":false},"message":{"type":"string","description":"One or more parameters are invalid"},"error":{"type":"integer","description":"Internal error code"}}},"examples":{"EmptySigners":{"summary":"Signers array is empty","value":{"success":false,"message":"array 'signers' is empty","error":610}},"MissingSigners":{"summary":"Signers array is missing","value":{"success":false,"message":"array 'signers' required","error":685}},"MissingInputDocuments":{"summary":"Input documents missing","value":{"success":false,"message":"inputDocuments required","error":610}},"MalformedCallback":{"summary":"Malformed callback object","value":{"success":false,"message":"malformed 'url' parameter, must be a valid url in 'callback'","error":704}}}}}}}}},"/verify":{"post":{"tags":["Signatures"],"summary":"Verify a signature","description":"Verify a signature by uploading the signed document. The system will return the verification result.","operationId":"post_verify","requestBody":{"description":"Verify a signature by uploading the signed document.","content":{"application/json":{"schema":{"type":"object","required":["inputDocument"],"properties":{"inputDocument":{"type":"string","format":"base64","description":"Signed document","example":"BASE64string"},"detachedContent":{"type":"string","format":"base64","description":"Detached content","example":"BASE64string"},"pdfEncryptionPassword":{"type":"string","description":"Password for pdf encryption","example":"password123"},"recursive":{"type":"boolean","description":"Recursive verification","example":true},"verifyOnDate":{"type":"string","format":"date","description":"Date to verify the signature","example":"2025-02-14"}}}}}},"responses":{"200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"object","description":"Verification result","properties":{"checkDate":{"type":"string","description":"Date of the verification","example":"2025-02-14 11:11:01.892+00:00"},"verificationDate":{"type":"string","description":"Date of the verification","example":"2025-02-14 11:11:01.892+00:00"},"signatureFormat":{"type":"string","description":"Format of the signature","example":"PAdES"},"nrOfSignatures":{"type":"integer","description":"Number of signatures","example":1},"overallVerified":{"type":"boolean","description":"Overall verification result","example":true},"signatureReportList":{"type":"array","items":{"type":"object","properties":{"id":{"type":"string","description":"ID of the signature","example":"0"},"integrity":{"type":"boolean","description":"Integrity verification result","example":true},"signatureAlgorithmName":{"type":"string","description":"Signature algorithm name","example":"SHA256withRSA"},"subjectDN":{"type":"string","description":"Subject DN","example":"C=IT,SURNAME=ROSSI,GIVENNAME=MARIO,SERIALNUMBER=TINIT-RSSMRA73R02H501H,CN=ROSSI MARIO,DNQ=AUSL2023021972028357"},"issuerDN":{"type":"string","description":"Issuer DN","example":"C=IT,O=Namirial S.p.A./02046570426,OU=Certification Authority,CN=Namirial CA Firma Qualificata"},"subjectCN":{"type":"string","description":"Subject Common Name","example":"ROSSI MARIO"},"issuerCN":{"type":"string","description":"Issuer Common Name","example":"Namirial CA Firma Qualificata"},"serialNumber":{"type":"string","description":"Serial number","example":"5557601230250214000"},"signerCertificateStatus":{"type":"string","description":"Signer certificate status","example":"VALID"},"signerCertificateNotBefore":{"type":"string","description":"Signer certificate not before","example":"2025-02-14 11:11:01.892+00:00"},"signerCertificateNotAfter":{"type":"string","description":"Signer certificate not after","example":"2025-02-14 11:11:01.892+00:00"},"signerCertificateRevocationDate":{"type":"string","description":"Signer certificate revocation date","example":"2025-02-14 11:11:01.892+00:00"},"issuerCertificateStatus":{"type":"string","description":"Issuer certificate status","example":"VALID"},"issuerCertificateRevocationDate":{"type":"string","description":"Issuer certificate revocation date","example":"2025-02-14 11:11:01.892+00:00"},"trustedSignatureDate":{"type":"boolean","description":"Trusted signature date indicates if the signatureDate is trusted by a Trusted Authority by standard timestamp certificate","example":false},"signatureDate":{"type":"string","description":"Signature date","example":"2025-02-14 11:11:01.892+00:00"},"issuerTrustedList":{"type":"boolean","description":"Issuer is present on trusted list","example":true},"keySize":{"type":"integer","description":"encryption Key size","example":2048},"qcComplianceStatus":{"type":"string","description":"QC Compliance status","example":"VALID"},"qcSSCDStatus":{"type":"string","description":"QC SSCD status","example":"VALID"},"derEncodedSignerCert":{"type":"string","format":"base64","description":"DER encoded signer certificate","example":"BASE64string"}}}},"noteReportList":{"type":"array","items":{"type":"object","properties":{"policy":{"type":"integer","description":"Policy Id","example":3},"about":{"type":"integer","description":"About Id","example":2},"type":{"type":"integer","description":"Type Id","example":1},"synopsis":{"type":"string","description":"Synopsis","example":"Certified qualified in conformity"},"description":{"type":"string","description":"Description","example":"The qualified certificate of ROSSI MARIO complies with European Directive 1999/93/EC"}}}},"plainDocument":{"type":"string","format":"base64","description":"Plain document","example":"BASE64string"}}},"message":{"type":"string","description":"Message","example":"Signature is valid"},"error":{"type":"string","nullable":true,"description":"Error code","example":""},"success":{"type":"boolean","description":"Operation success","example":true}}}}}},"400":{"description":"Invalid input"},"422":{"description":"Validation exception"}}}},"/signatures/{id}":{"delete":{"tags":["Signatures"],"summary":"Delete the signed Document, the details, audit Trail and the validatedDocument of a signature","operationId":"delete_signatures__id_","parameters":[{"name":"id","in":"path","description":"ID of the signature","required":true,"schema":{"type":"string"},"example":"67af24c5af9b55291406e946"}],"responses":{"200":{"description":"Deleted"},"400":{"description":"Invalid input"},"404":{"description":"Signature not found"}}}}},"components":{"securitySchemes":{"bearerAuth":{"description":"Enter the token you generated with the <a href='https://console.openapi.com/apis/oauth'>OAUTH</a> service here. <br>Remember to specify the scopes you intend to use.<br>Scopes are strings that indicate which endpoint you intend to enable, composed with the following schema:<br>HTTP_METHOD:API_DOMAIN/RESOURCE_PATH<br>example: POST:esignature.openapi.com/EU-QES_automatic","type":"http","scheme":"bearer"}},"schemas":{"CertificateNamirial_POST":{"type":"object","properties":{"certificateOwner":{"type":"string","description":"Name of the certificate owner","example":"John Doe"},"customReference":{"type":"string","description":"Custom reference for the certificate, usefull for internal tracking","example":"MyCustomReference#123"},"callback":{"$ref":"#/components/schemas/Callback"}}},"CertificateOwnerErrorResponse400":{"type":"object","properties":{"status":{"type":"integer","example":400},"errors":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string"},"errorCode":{"type":"integer"},"message":{"type":"string"}}}}}},"SignatureListElement":{"type":"object","properties":{"id":{"type":"string","description":"ID of the signature","example":"67af24c5af9b55291406e946"},"updatedAt":{"type":"string","description":"Date and time of the last update","example":"2025-02-14 11:11:01.892+00:00"},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"documentTitle":{"type":"string","description":"Title of the document","example":"MyDocument Title"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_automatic","enum":["EU-QES_automatic","EU-QES_remote_otp"]},"signatureType":{"type":"string","description":"Type of the signature","example":"pades","enum":["cades","pades","xades","pkcs1"]},"state":{"type":"string","description":"State of the signature","example":"DONE","enum":["WAIT_VALIDATION","WAIT_SIGN","DONE","ERROR"]},"errorNumber":{"type":"integer","nullable":true,"description":"Error number","example":0},"errorMessage":{"type":"string","nullable":true,"description":"Error message","example":"Wrong Certificate Credentials"}}},"CertificateListObject":{"type":"object","properties":{"id":{"type":"string","description":"ID of the certificate","example":"67af24c5af9b55291406e946"},"certificateOwner":{"type":"string","description":"Name of the certificate owner","example":"John Doe"},"customReference":{"type":"string","description":"Custom reference for the certificate","example":"MyCustomReference#123"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_automatic","enum":["EU-QES_automatic","EU-QES_otp"]},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"expireAt":{"type":"string","description":"Date and time of certificate expiration","example":"2025-02-14 11:11:01.892+00:00"},"state":{"type":"string","description":"State of the certificate","example":"NEW","enum":["NEW","EXPIRED","SUSPENDED"]},"certificateLink":{"type":"string","format":"uri","description":"URL to start the certificate attribution procedure","example":"https://my-domain.com/certificate.html"}}},"CertificateObject":{"type":"object","properties":{"id":{"type":"string","description":"ID of the certificate","example":"67af24c5af9b55291406e946"},"certificateOwner":{"type":"string","description":"Name of the certificate owner","example":"John Doe"},"customReference":{"type":"string","description":"Custom reference for the certificate","example":"MyCustomReference#123"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_automatic","enum":["EU-QES_automatic","EU-QES_otp"]},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"expireAt":{"type":"string","description":"Date and time of certificate expiration","example":"2025-02-14 11:11:01.892+00:00"},"state":{"type":"string","description":"State of the certificate","example":"NEW","enum":["NEW","EXPIRED","SUSPENDED"]},"certificateLink":{"type":"string","format":"uri","description":"URL to start the certificate attribution procedure","example":"https://my-domain.com/certificate.html"},"callback":{"$ref":"#/components/schemas/Callback"}}},"SignatureObject":{"type":"object","properties":{"id":{"type":"string","description":"ID of the signature","example":"67af24c5af9b55291406e946"},"updatedAt":{"type":"string","description":"Date and time of the last update","example":"2025-02-14 11:11:01.892+00:00"},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:11:01.892+00:00"},"certificateType":{"type":"string","description":"Type of certificate","example":"EU-QES_automatic","enum":["EU-QES_automatic"]},"signatureType":{"type":"string","description":"Type of the signature","example":"pades","enum":["cades","pades","xades","pkcs1"]},"state":{"type":"string","description":"State of the signature","example":"DONE","enum":["WAIT_VALIDATION","WAIT_SIGN","DONE","ERROR"]},"options":{"type":"object","description":"Additional options for the signature","properties":{"asyncDocumentsValidation":{"type":"boolean","description":"Whether to validate documents asynchronously","example":true},"asyncSignature":{"type":"boolean","description":"Whether to sign documents asynchronously","example":false},"level":{"type":"string","description":"Signature level","example":"B"},"hashAlgorithm":{"type":"string","description":"Hash algorithm","example":"SHA256"},"encryptInAnyCase":{"type":"boolean","description":"Encrypt in any case","example":false},"page":{"type":"integer","description":"Page number to sign","example":1},"withSignatureField":{"type":"boolean","description":"Include signature field","example":false}}},"errorNumber":{"type":"integer","nullable":true,"description":"Error number","example":0},"errorMessage":{"type":"string","nullable":true,"description":"Error message","example":"Wrong Certificate Credentials"},"document":{"type":"object","description":"Document to sign","properties":{"title":{"type":"string","description":"Title of the document","example":"MyDocument Title"},"description":{"type":"string","description":"Description of the document","example":""},"inputDocuments":{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","description":"Source type of the document","enum":["remote","base64"],"example":"base64"},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:12:33.819+00:00"},"mimetype":{"type":"string","description":"MIME type of the document","example":"application/pdf"},"extension":{"type":"string","description":"Extension of the document","example":"pdf"},"size":{"type":"integer","description":"Size of the document","example":339},"id":{"type":"string","description":"ID of the document","example":"67af252164f60538280f70fb"},"md5":{"type":"string","description":"MD5 hash of the document","example":"694be78a9eaa52d602bec92e211fa5dc"},"name":{"type":"string","description":"File Name of the document","example":"694be78a9eaa52d602bec92e211fa5dc.pdf"}}}},"validatedDocument":{"type":"object","description":"Validated document","properties":{"mimetype":{"type":"string","description":"MIME type of the document","example":"application/pdf"},"extension":{"type":"string","description":"Extension of the document","example":"pdf"},"size":{"type":"integer","description":"Size of the document","example":339},"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:12:33.819+00:00"},"id":{"type":"string","description":"ID of the document","example":"67af252164f60538280f70fb"},"md5":{"type":"string","description":"MD5 hash of the document","example":"694be78a9eaa52d602bec92e211fa5dc"},"name":{"type":"string","description":"File Name of the document","example":"694be78a9eaa52d602bec92e211fa5dc.pdf"}}},"signedDocument":{"type":"object","description":"Signed document","properties":{"createdAt":{"type":"string","description":"Date and time of creation","example":"2025-02-14 11:12:34.229+00:00"},"mimetype":{"type":"string","description":"MIME type of the document","example":"application/pdf"},"extension":{"type":"string","description":"Extension of the document","example":"pdf"},"size":{"type":"integer","description":"Size of the document","example":50133},"id":{"type":"string","description":"ID of the document","example":"67af252264f60538280f70fe"},"md5":{"type":"string","description":"MD5 hash of the document","example":"363cfdb141fe0e1a3f598e1d6377a4f5"},"name":{"type":"string","description":"File Name of the document","example":"67af252164f60538280f70f9.pdf"}}}}}}},"EU-QES_POST":{"anyOf":[{"required":["inputDocuments","certificateUsername","certificatePassword"]},{"required":["inputDocuments","certificateUsername","certificatePassword","certificateOtp"]}],"type":"object","properties":{"inputDocuments":{"$ref":"#/components/schemas/InputDocuments"},"certificateUsername":{"type":"string","description":"Username for the certificate, must be used the Device name you received. It starts with: RHI (/EU-QES_otp), SHI (/EU-QES_eseal) or AHI (/EU-QES_automatic)","example":"openapiSandboxUsername"},"certificatePassword":{"type":"string","description":"Password for the certificate, must be used the PIN associated to device name (can be set by the customer or read into blind envelope)","example":"openapiSandboxPassword"},"certificateOtp":{"type":"string","description":"VALID ONLY FOR /EU-QES_otp endpoint, is REQUIRED and is obtainable using the relative otp app from the certification authority","example":"123456"},"certificateIdOtp":{"type":"integer","description":"VALID ONLY FOR /EU-QES_otp endpoint, is Optional and is used in the case more than one otp is set on the certification authority app. You can find it on the top right section of the otp app","example":-1},"title":{"type":"string","description":"Title of the signature","example":"My signature title"},"description":{"type":"string","description":"Description of the signature","example":"My signature long description"},"signatureType":{"type":"string","description":"Type of the signature. Could be cades, pades, xades, pkcs1","example":"pades","enum":["cades","pades","xades","pkcs1"]},"options":{"type":"object","description":"Additional options for the signature. The available options depend on the `signatureType`:\n\n- **Common Options**:\n - `asyncDocumentsValidation` (boolean): Whether to validate documents asynchronously. Default: `false`.\n - `asyncSignature` (boolean): Whether to sign documents asynchronously. Default: `false`.\n- **PAdES Options**:\n - `level` (string): Signature level. Values: `B`, `T`, `LT`, `LTA`, `LTV`. Default: `B`.\n - `hashAlgorithm` (string): Hash algorithm. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n - `encryptInAnyCase` (boolean): Encrypt in any case. Default: `false`.\n - `page` (integer): Page number to sign. Default: `1`.\n - `encryptionPassword` (string): Password for pdf encryption. Default: `null`.\n - `signerImage` (string): Image of the signer. Default: `null`.\n - `lockFields` (string): Fields to lock. Default: `null`.\n - `withSignatureField` (boolean): Include signature field. Default: `false`.\n - `withTimestamp` (boolean): Include timestamp. Default: `false`.\n - `timestampUrl` (string): URL of the timestamp service. Default: `null`.\n - `timestampUsername` (string): Username for the timestamp service. Default: `null`.\n - `timestampPassword` (string): Password for the timestamp service. Default: `null`.\n - `timestampHashAlgo` (string): Hash algorithm for the timestamp service. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n- **CAdES Options**:\n - `detached` (boolean): Detached signature. Default: `false`.\n - `level` (string): Signature level. Values: `B`, `T`, `LT`, `LTA`, `LTV`. Default: `B`.\n - `hashAlgorithm` (string): Hash algorithm. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n - `counterSignature` (boolean): Counter signature. Default: `false`.\n - `withTimestamp` (boolean): Include timestamp. Default: `false`.\n - `timestampUrl` (string): URL of the timestamp service. Default: `null`.\n - `timestampUsername` (string): Username for the timestamp service. Default: `null`.\n - `timestampPassword` (string): Password for the timestamp service. Default: `null`.\n - `timestampHashAlgo` (string): Hash algorithm for the timestamp service. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n- **XAdES Options**:\n - `level` (string): Signature level. Values: `B`, `T`, `LT`, `LTA`, `LTV`. Default: `B`.\n - `hashAlgorithm` (string): Hash algorithm. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n - `detached` (boolean): Detached signature. Default: `false`.\n - `withoutSignatureExclusion` (boolean): Without signature exclusion. Default: `false`.\n - `XPathQuery` (string): XPath query. Default: `null`.\n - `signElement` (string): Sign element. Default: `null`.\n - `signatureId` (string): Signature ID. Default: `null`.\n - `withTimestamp` (boolean): Include timestamp. Default: `false`.\n - `timestampUrl` (string): URL of the timestamp service. Default: `null`.\n - `timestampUsername` (string): Username for the timestamp service. Default: `null`.\n - `timestampPassword` (string): Password for the timestamp service. Default: `null`.\n - `timestampHashAlgo` (string): Hash algorithm for the timestamp service. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.\n- **PKCS1 Options**:\n - `hashAlgorithm` (string): Hash algorithm. Values: `SHA1`, `SHA256`, `SHA384`, `SHA512`. Default: `SHA256`.","properties":{"asyncDocumentsValidation":{"type":"boolean","description":"Whether to validate documents asynchronously, usefull for large files and batch processing.\n\nThe system will return a WAIT_VALIDATION state and will send a callback when the sign process is completed or if the document is not valid.","example":true,"default":false},"asyncSignature":{"type":"boolean","description":"Whether to sign documents asynchronously, usefull for large files and batch processing.\n\nThe system will return a WAIT_SIGN state and will send a callback when the signature process is completed.","example":false,"default":false},"level":{"type":"string","description":"Signature level: B (Basic), T (Time), LT (Long Term), LTA (Long Term Archive), LTV (Long Term Validation)\n\n - `B`\tIn the signed file the electronic signature and the signing certificate are added.\t(Pades, Cades, Xades)\n - `T`\tLike B-Level, but adds a time-stamp, respectively a time-mark that proves the signature existed at a certain date and time.\t(Pades, Cades, Xades)\n - `LT`\tLike T-Level, but adds VRI (Verification Related Information) data to the DSS (Long Term).\t(Pades, Cades, Xades)\n - `LTA`\tLike LT-level, but adds a time stamp document and VRI data for the TSA (Time Stamping Authority). An LTA may help to validate the signature beyond any event that may limit its validity (Long Term with Archive Time-Stamps).\t(Pades, Cades, Xades)\n - `LTV`\t(Long Term Validation) contains the OCSP/CRL response after the signature. It is used for validation after the signing certificate has expired.\t(Pades)","example":"B","enum":["B","T","LT","LTA","LTV"],"default":"B"},"hashAlgorithm":{"type":"string","description":"Algorithm which you want to use for signing.","example":"SHA256","enum":["SHA1","SHA256","SHA384","SHA512"],"default":"SHA256"},"encryptInAnyCase":{"type":"boolean","description":"Encrypt in any case","example":false,"default":false},"page":{"type":"integer","description":"Indicate the page number on which you want to apply the signature appearance. If you want to add the appearance on the last page of the PDF file, you should set it to \"-1\".","example":1,"default":1},"encryptionPassword":{"type":"string","description":"Specify the password PDF, if present.","example":"password123"},"signerImage":{"type":"object","description":"Image of the signer","properties":{"image":{"type":"string","description":"Base64 encoded image data of the signer.","example":"BASE64string"},"imageUrl":{"type":"string","description":"URL of the image of the signer.","example":"https://example.com/signerImage.png"},"signerName":{"type":"string","description":"Name of the signer to be displayed on the image.","example":"John Doe"},"location":{"type":"string","description":"Location of the signer to be displayed on the image.","example":"New York, USA"},"reason":{"type":"string","description":"Reason for the signature.","example":"Contract"},"signerEmail":{"type":"string","description":"Email of the signer to be displayed on the image.","example":"john.doe@example.com"},"imageVisible":{"type":"boolean","description":"Whether the image should be visible on the signature.","example":true,"default":true},"width":{"type":"integer","description":"Width of the image in pixels.","example":164,"default":164},"height":{"type":"integer","description":"Height of the image in pixels.","example":45,"default":45},"fieldsNameList":{"type":"array","items":{"type":"string"},"description":"List of field names where the image should be applied.","example":["field1","field2"]},"signAllFields":{"type":"boolean","description":"Whether to sign all fields with the image.","example":false,"default":false}}},"lockFields":{"type":"string","description":"Fields to lock","example":"field1,field2"},"withSignatureField":{"type":"boolean","description":"Set true if you want to apply the signature on signature field in the PDF file.","example":false,"default":false},"detached":{"type":"boolean","description":"Detached signature. Set true if you want the signature and the files in two different files. The output will be the signature.","example":false,"default":false},"withoutSignatureExclusion":{"type":"boolean","description":"Without signature exclusion allows to sign the file with/without previous signature.","example":false,"default":false},"XPathQuery":{"type":"string","description":"Allows to sign a specified path of XML file.","example":"query"},"signElement":{"type":"string","description":"Allows to specify the \"Id\" on XML which you want to sign.","example":"element"},"signatureId":{"type":"string","description":"Allows to specify the \"Id\" of the signature.","example":"id"},"counterSignature":{"type":"boolean","description":"Counter signature is used to sign an already signed .p7m document.","example":false,"default":false},"timezone":{"$ref":"#/components/schemas/Timezones"},"withTimestamp":{"type":"boolean","description":"Include timestamp. If true and the timestampUrl, timestampUsername and timestampPassword are set, the system will add a timestamp to the signature. If true but other timestamp parameters are not set, the system will timestamp anyway billing the timestamp on wallet. (check <a target='_blanc' href='https://console.openapi.com/apis/esignature/pricing'>prices</a> for more details)","example":false,"default":false},"timestampUrl":{"type":"string","description":"URL of the timestamp service","example":"https://my-domain.com/timestamp"},"timestampUsername":{"type":"string","description":"Username for the timestamp service","example":"CC123456"},"timestampPassword":{"type":"string","description":"Password for the timestamp service","example":"password123"}}},"callback":{"$ref":"#/components/schemas/Callback"}}},"EU-SES_POST":{"type":"object","description":"SES request definition.","properties":{"signers":{"type":"array","description":"List of signers. At least one needed.","items":{"type":"object","properties":{"name":{"type":"string","description":"Signer's name.","example":"Mario"},"surname":{"type":"string","description":"Signer's surname.","example":"Rossi"},"email":{"type":"string","format":"email","description":"Email address where the OTP code will be sent (if 'email' is the authentication method chosed).","example":"mario_rossi@example.com"},"mobile":{"type":"string","description":"Mobile number where the OTP code will be sent (if 'sms' is the authentication method chosed).","example":"+393334455666"},"message":{"type":"string","description":"A custom message to be sent to the signer. If the message includes the {OTP} placeholder, it will be replaced by the actual OTP. Otherwise, the OTP code will be appended to the end of the message. **Note**: For SMS messages, the maximum allowed length is 160 characters (OTP or its placeholder included).","example":"Hello Mario, this is your OTP code: "},"authentication":{"type":"array","description":"Authentication methods used.","items":{"type":"string","enum":["email","sms"]},"example":["email"]},"signatures":{"type":"array","description":"List of all the signatures for each signer. If omitted or empty, a single sign field will be created on the first in the top left corner.","items":{"type":"object","properties":{"page":{"type":"integer","description":"Page number where this single signature field is present. Pages goes from 1 to N.","example":1},"x":{"type":"string","description":"X coordinate from the left.","example":"331"},"y":{"type":"string","description":"Y coordinate from the top.","example":"45"},"name":{"type":"string","description":"The single signature field identifier already present on the pdf."}},"required":["page","x","y"]}}},"required":["name","surname","authentication","signatures"]},"minItems":1},"inputDocuments":{"description":"One or more pdf document to be signed. They can be either an array of base64 or an url.","oneOf":[{"type":"string","format":"uri","description":"Url from the pdf will be retrieved.","example":"JVBERi0xLjQKJZOMi54gUmVwb3J0TGFiIEdlbmVyYXRlZCBQREYgZG9jdW1lbnQgaHR0cDovL3d3dy5yZXBvcnRsYWIuY29tCjEgMCBvYmoKPDwKL0YxIDIgMCBSIC9GMiAzIDAgUgo+PgplbmRvYmoKMiAwIG9iago8PAovQmFzZUZvbnQgL0hlbHZldGljYSAvRW5jb2RpbmcgL1dpbkFuc2lFbmNvZGluZyAvTmFtZSAvRjEgL1N1YnR5cGUgL1R5cGUxIC9UeXBlIC9Gb250Cj4+CmVuZG9iagozIDAgb2JqCjw8Ci9CYXNlRm9udCAvSGVsdmV0aWNhLUJvbGQgL0VuY29kaW5nIC9XaW5BbnNpRW5jb2RpbmcgL05hbWUgL0YyIC9TdWJ0eXBlIC9UeXBlMSAvVHlwZSAvRm9udAo+PgplbmRvYmoKNCAwIG9iago8PAovQ29udGVudHMgMTIgMCBSIC9NZWRpYUJveCBbIDAgMCA1OTUuMjc1NiA4NDEuODg5OCBdIC9QYXJlbnQgMTEgMCBSIC9SZXNvdXJjZXMgPDwKL0ZvbnQgMSAwIFIgL1Byb2NTZXQgWyAvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0KPj4gL1JvdGF0ZSAwIC9UcmFucyA8PAoKPj4gCiAgL1R5cGUgL1BhZ2UKPj4KZW5kb2JqCjUgMCBvYmoKPDwKL0NvbnRlbnRzIDEzIDAgUiAvTWVkaWFCb3ggWyAwIDAgNTk1LjI3NTYgODQxLjg4OTggXSAvUGFyZW50IDExIDAgUiAvUmVzb3VyY2VzIDw8Ci9Gb250IDEgMCBSIC9Qcm9jU2V0IFsgL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdCj4+IC9Sb3RhdGUgMCAvVHJhbnMgPDwKCj4+IAogIC9UeXBlIC9QYWdlCj4+CmVuZG9iago2IDAgb2JqCjw8Ci9Db250ZW50cyAxNCAwIFIgL01lZGlhQm94IFsgMCAwIDU5NS4yNzU2IDg0MS44ODk4IF0gL1BhcmVudCAxMSAwIFIgL1Jlc291cmNlcyA8PAovRm9udCAxIDAgUiAvUHJvY1NldCBbIC9QREYgL1RleHQgL0ltYWdlQiAvSW1hZ2VDIC9JbWFnZUkgXQo+PiAvUm90YXRlIDAgL1RyYW5zIDw8Cgo+PiAKICAvVHlwZSAvUGFnZQo+PgplbmRvYmoKNyAwIG9iago8PAovQ29udGVudHMgMTUgMCBSIC9NZWRpYUJveCBbIDAgMCA1OTUuMjc1NiA4NDEuODg5OCBdIC9QYXJlbnQgMTEgMCBSIC9SZXNvdXJjZXMgPDwKL0ZvbnQgMSAwIFIgL1Byb2NTZXQgWyAvUERGIC9UZXh0IC9JbWFnZUIgL0ltYWdlQyAvSW1hZ2VJIF0KPj4gL1JvdGF0ZSAwIC9UcmFucyA8PAoKPj4gCiAgL1R5cGUgL1BhZ2UKPj4KZW5kb2JqCjggMCBvYmoKPDwKL0NvbnRlbnRzIDE2IDAgUiAvTWVkaWFCb3ggWyAwIDAgNTk1LjI3NTYgODQxLjg4OTggXSAvUGFyZW50IDExIDAgUiAvUmVzb3VyY2VzIDw8Ci9Gb250IDEgMCBSIC9Qcm9jU2V0IFsgL1BERiAvVGV4dCAvSW1hZ2VCIC9JbWFnZUMgL0ltYWdlSSBdCj4+IC9Sb3RhdGUgMCAvVHJhbnMgPDwKCj4+IAogIC9UeXBlIC9QYWdlCj4+CmVuZG9iago5IDAgb2JqCjw8Ci9QYWdlTW9kZSAvVXNlTm9uZSAvUGFnZXMgMTEgMCBSIC9UeXBlIC9DYXRhbG9nCj4+CmVuZG9iagoxMCAwIG9iago8PAovQXV0aG9yIChcKGFub255bW91c1wpKSAvQ3JlYXRpb25EYXRlIChEOjIwMjUxMjE3MTUyMjI0KzAwJzAwJykgL0NyZWF0b3IgKFwodW5zcGVjaWZpZWRcKSkgL0tleXdvcmRzICgpIC9Nb2REYXRlIChEOjIwMjUxMjE3MTUyMjI0KzAwJzAwJykgL1Byb2R1Y2VyIChSZXBvcnRMYWIgUERGIExpYnJhcnkgLSB3d3cucmVwb3J0bGFiLmNvbSkgCiAgL1N1YmplY3QgKFwodW5zcGVjaWZpZWRcKSkgL1RpdGxlIChcKGFub255bW91c1wpKSAvVHJhcHBlZCAvRmFsc2UKPj4KZW5kb2JqCjExIDAgb2JqCjw8Ci9Db3VudCA1IC9LaWRzIFsgNCAwIFIgNSAwIFIgNiAwIFIgNyAwIFIgOCAwIFIgXSAvVHlwZSAvUGFnZXMKPj4KZW5kb2JqCjEyIDAgb2JqCjw8Ci9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXSAvTGVuZ3RoIDY0NAo+PgpzdHJlYW0KR2IiLyViQVBjbyddJXEmY0VhKlAxLzs8MS8ucTlMJFA2cDBMQEohSmFRJTomOz4nT2tqInFAQE88RSxfLHFJOGhTOzMrTzstOnVDVlBnXTdxXEYpbCdOQnA0JGFoVjxCSE02TzAob1xHZFRNaShlV2MlW11yO0NpPC9vKm5Hcl8vZ0RCVHRLQnJSJXE9XWUjSGpiNzk2ZjtZVyJSXi1oLGhLSEYpVy06QDtXKW1ZXlRSRGVZXlhpWWVQTUc9LFhJOWZSWk9LcEpdI251dTRBWmE6Yj1WOm5uYEo1RVpKW0dfTXBEIkAsQi89RSdRN0Y4JkJJN3NhWzo4N0VcS1dCNVghLWhUO2UiVCY+cm9BTEljVFFAMyxpJGduYy88N0otR0dYOVpfPmpJNkktQC5kOWJjb3BpXTAoOjA9Iy5CKmFiUEImPl1QO2VPSUgjZG5MJDJHP0g3IVBpbEghai5sP2RCLTQhPFQyJVwrLS9QcnFcMSQnTVkkWiw0bS8iOjptTnMsXj1KJ0ZGLGkwS05uMSFNMmJWaGVEO3FNXDVPIVBPJFtHWVUkU0QzQEcjXmlQJU47LTNEWCZEND5eTSxESmwnVVw9OEFJIkQwLTZYdXBWbTFqUTAwcSsnblI1QXJeQSJGNjNVTmJNQCtQKT43VFJgTl1PI20uPFwpIj51TksrJ2NXTGFbJ2xTQyxgTkZUNEJdX0ooN0VVPExKWyZRYChObjEpXGJnRGxTb2NNVDhnb1tfSTkzamJga0BpLGYzZzYpcWsmUmlbXlxoUWRkQC1qJ24nUD0qcCNUa2hsNzdBKDxuNmtRWFpSUTkjUE0zNV9xLUVqKyFScmEjdTdbOWgjfj5lbmRzdHJlYW0KZW5kb2JqCjEzIDAgb2JqCjw8Ci9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXSAvTGVuZ3RoIDY0NAo+PgpzdHJlYW0KR2IiLyViQVBjbyddJXEmY0VhKlAxLzs8MS8ucTlMJFA2cDBMQEohSmFRJTomOz4nT2tqInFAQE88RSxfLHFJOGhTOzMrTzstOnVDVlBnXTdxXEYpbCdOQnA0JGFoVjxCSE02TzAob1xHZFRNaShlV2MlW11yO0NpPC9vKm5Hcl8vZ0RCVHRLQnJSJXE9XWUjSGpiNzk2ZjtZVyJSXi1oLGhLSEYpVy06QDtQY3JJNTVsMkk8SV1qLlMtYjdQOD0+X0gtQixkanNGZDpvdEgoWlJTUV1wUWdpbSI3aUFBTWJIKDdqY144KU9ZaS5HaHFPK2NxTnBQREFSTmpDITViSlUzPVs1I1dnMitBVGJhJVskKitfYFNlKFw0XTFXTVdqXmw9ViRCW2FZc2s5XzxSUk5UbVBXRD8vUz9ZJTtaMU1RTGZrWkguRFUocW5yTWYkZGtqXm9NIitcZTwvUjtlRyVaOEc8ajVEKiZvMDwuc1tCQSctcTkoQFlMUj0jU0tcJXJ1blNzLjIoOFxAPEJsQSIkRFI3Xj0xR2soRi8iIS1lRzduP3FHJGdFX20jRV9nUiNWOUVfNCtnLEE+IzdndGUuN2RdOmBxI148Okw7bGI1Z0ZNLD9AbCwoZjFNUG9GYSNrTkY3ZG1qXjYqKFVNNWxpcEQrKkk4WERTJ0p0KUJCIlA7RVoxLGY0UzhKKW9sRGRHayFyTWluM2tzQk46Pi8qM0RyQVJBMlcwbFRfLE9cUWA/clFGX09KY0kmKVVGWEIsbGMvaVdASiwuJ1JVR1lSLWhrUlMzbGNbW1plUTthL1hmQ14tPidXI1AmKyRFSUxUYWReNT1Bb0wnM1A/Smg+fj5lbmRzdHJlYW0KZW5kb2JqCjE0IDAgb2JqCjw8Ci9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXSAvTGVuZ3RoIDY0NAo+PgpzdHJlYW0KR2IiLyViQVBjbyddJXEmY0VhKlAxLzs8MS8ucTlMJFA2cDBMQEohSmFRJTomOz4nT2tqInFAQE88RSxfLHFJOGhTOzMrTzstOnVDVlBnXTdxXEYpbCdOQnA0JGFoVjxCSE02TzAob1xHZFRNaShlV2MlW11yO0NpPC9vKm5Hcl8vZ0RCVHRLQnJSJXE9XWUjSGpiNzk2ZjtZVyJSXi1oLGhLSEYpVy06QDtYQnFWIUpiQ3RYcipDMy86TkUnUFlcSG85YzhKWXBsNzBdcm5qJCYvMC41IVhgTEJCXGFiJVFwLzM7QkVPMilAXTtTN14nNlFkJGstNGVyJmFNSUFNIjgqV0FJJjlYQzViKkZLKj9zMDZMM1lLLkVMMkU5J1tjNWJaNXNeQFAmRFpRSyUyciY2TUosZ10ialg8KVY+QiQvRVtPPm51RCgvcDUma1UoU1hcR2thQipCVyRBblRXVUk1UG1YVUNnMyxoP1c8cTdaYC1WMlowYCFUIlkmMSE/KHMkTCtwO15BU0NfV1tZYCNDJS5NSUFgYmAwMU8jITpUZEtnXmxtJVdqZSouakxBVXU2UWo/QTVadStPJU5Zak47Tjd1SEpuY2VIUiU/NktKW1RDK11gYjctVUJAPWtsTmQzcmpOU1xZRkszMDUkSyojcGc1Ty5TO2dpZ2txMiopKipWMFlKOFkwWElzMk5HYlJuRFxmI2BOZVVwZEFlWz0zRWhuYTFJbDVAZXBnKSdGMThebi9UcSJzU1lKJjRsVik+YlMnMDJfczcyKC43cisuOV5JTidGZXNFLz5XaXU9PD4/MDo5W0lTLysqblhdcSVVWkRFSXUobyItWSQoZWhafj5lbmRzdHJlYW0KZW5kb2JqCjE1IDAgb2JqCjw8Ci9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXSAvTGVuZ3RoIDY0NAo+PgpzdHJlYW0KR2IiLyViQVBjbyddJXEmY0VhKlAxLzs8MS8ucTlMJFA2cDBMQEohSmFRJTomOz4nT2tqInFAQE88RSxfLHFJOGhTOzMrTzstOnVDVlBnXTdxXEYpbCdOQnA0JGFoVjxCSE02TzAob1xHZFRNaShlV2MlW11yO0NpPC9vKm5Hcl8vZ0RCVHRLQnJSJXE9XWUjSGpiNzk2ZjtZVyJSXi1oLGhLSEYpVy06QDtYQyVcIkpiQ3RYcipDMy86TkUnUFlcSG85YzhKWXBsNzBdcm5qJCYvMC41IVhgTEJCXGFiJVFwLzM7QkVPMilAXTtTN14nNlFkJGstNGVyJmFNSUFNIjgqV0FJJjlYQzViKkZLKj9zMDZMM1lLLkVMMkU5J1tjNWJaNXNeQFAmRFpRSyUyciY2TUosZ10ialg8KVY+QiQvRVtPPm51RCgvcDUma1UoU1hcR2thQipCVyRBblRXVUk1UG1YVUNnMyxoP1c8cTdaYC1WMlowYCFUIlkmMSE/KHMkTCtwO15BU0NfV1tZYCNDJS5NSUFgYmAwMU8jITpUZEtnXmxtJVdqZSouakxBVXU2UWo/QTVadStPJU5Zak47Tjd1SEpuY2VIUiU/NktKW1RDK11gYjctVUJAPWtsTmQzcmpOU1xZRkszMDUkSyojcGc1Ty5TO2dpZ2txMiopKipWMFlKOFkwWElzMk5HYlJuRFxmI2BOZVVwZEFlWz0zRWhuYTFJbDVAZXBnKSdGMThebi9UcSJzU1lKJjRsVik+YlMnMDJfczcyKC43cisuOV5JTidGZXNFLz5XaXU9PD4/MDo5W0lTLysqblhdcSVVWkRFSXUobyItWixcbGh1fj5lbmRzdHJlYW0KZW5kb2JqCjE2IDAgb2JqCjw8Ci9GaWx0ZXIgWyAvQVNDSUk4NURlY29kZSAvRmxhdGVEZWNvZGUgXSAvTGVuZ3RoIDY0NAo+PgpzdHJlYW0KR2IiLyViQVBjbyddJXEmY0VhKlAxLztaOy8ucTlMJFA2cDBMQEohSmFRJTomOz4nT2tQO0VsRSYwb2MyLHFJOGhTOzMrTzstOnVDcC5vMUxwRHIqUy4mW2Q3IyY3R0ZkNjZMJz5PMy1qVjZfZTRcaC4tP1ZKNklnZXVkLmZIKz5VKm02V18wZG8lJ21aRVQibmI2dUtLWT5dOjpadDddWV4kQlwwOy9eYTBXKloxcEphUERQcipDMy86TkUnUFlcSHI6YzhPMXNDNmk7OTRBWmE6YkohJSRgTEJCXGFiJEZQLzonNjdPMilAXTtTN14nQGl1RjYtNGVyKGA1MXJRIlV1RlpJJjozUzViKkZLNFgvUU5MM1lXMkYuXkkuJ0pcZmlaNXNeQFAmTCUqIktUI2tLSD5CKUZGYyhXMXBSaSk9TyYiW2pBanI9bGswUF4vanU9WGNuZnNiOytHZFNkUCw/TWddOFFXRVN1ZWM/Y2VLZ1QtLV5gJjFcYVY2Jys+PXI9PTFdOjZFPVUkKTwscipvVWkob1VYIW5dR01mITRMbFYwIV9ZalFQXzI6RihgbkYsQGozVXRjbyxVXTNiJDs5MGtpOW9hVlZJOjJEZGlwZmo9M2cpNUc7RVQxS15qM3AkYEcyMG01Kk5GST1XJUxUXjtfa2FVTEUxNzpVZiciUUVRZytuKVxmb1BOZmYwYjpfTWRtKSg8PCNdOCNyZkNqXy5ZMkZjRnMwPjVvMjpsPkFIbS9OJiRcP0REWSZlc1lTTVgzOG1vczcyKG5OUmZzanJ1UzpiZmonUWdXZ1daPVtdOE1PW0lTLysqblhdcSVVV2tPNT1Bb0wnNmoxX2k7fj5lbmRzdHJlYW0KZW5kb2JqCnhyZWYKMCAxNwowMDAwMDAwMDAwIDY1NTM1IGYgCjAwMDAwMDAwNzMgMDAwMDAgbiAKMDAwMDAwMDExNCAwMDAwMCBuIAowMDAwMDAwMjIxIDAwMDAwIG4gCjAwMDAwMDAzMzMgMDAwMDAgbiAKMDAwMDAwMDUzOCAwMDAwMCBuIAowMDAwMDAwNzQzIDAwMDAwIG4gCjAwMDAwMDA5NDggMDAwMDAgbiAKMDAwMDAwMTE1MyAwMDAwMCBuIAowMDAwMDAxMzU4IDAwMDAwIG4gCjAwMDAwMDE0MjcgMDAwMDAgbiAKMDAwMDAwMTcxMSAwMDAwMCBuIAowMDAwMDAxNzk1IDAwMDAwIG4gCjAwMDAwMDI1MzAgMDAwMDAgbiAKMDAwMDAwMzI2NSAwMDAwMCBuIAowMDAwMDA0MDAwIDAwMDAwIG4gCjAwMDAwMDQ3MzUgMDAwMDAgbiAKdHJhaWxlcgo8PAovSUQgCls8ZjczNzk2OGRhYWYyYTgzNzE5YjU5ZmQyMjliODE5NDE+PGY3Mzc5NjhkYWFmMmE4MzcxOWI1OWZkMjI5YjgxOTQxPl0KJSBSZXBvcnRMYWIgZ2VuZXJhdGVkIFBERiBkb2N1bWVudCAtLSBkaWdlc3QgKGh0dHA6Ly93d3cucmVwb3J0bGFiLmNvbSkKCi9JbmZvIDEwIDAgUgovUm9vdCA5IDAgUgovU2l6ZSAxNwo+PgpzdGFydHhyZWYKNTQ3MAolJUVPRgo="},{"type":"array","items":{"type":"object","properties":{"sourceType":{"type":"string","enum":["remote","base64"]},"url":{"type":"string","format":"uri","description":"Document url (if sourceType is 'remote')."},"payload":{"type":"string","format":"byte","description":"Base64 of the document (if sourceType is 'base64')."}},"required":["sourceType"]},"example":[{"sourceType":"remote","url":"https://url.pdf.com"}]}]},"callback":{"type":"object","description":"Callback's URL to receive asynchronous updates.","properties":{"url":{"type":"string","format":"uri"}},"required":["url"]},"options":{"type":"object","description":"These are the optionals options to customize the ui visible to the final user or how they'll be signing.","properties":{"ui":{"type":"object","properties":{"sidebarBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#55a4ed","description":"Change the color of the sidebar background"},"sidebarTitleColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#000000","description":"Change the color of the title sidebar"},"sidebarTextColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#55a4ed","description":"Change the color of the sidebar text"},"footerBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#afcfed","description":"Change the color of the footer background"},"headerBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#afcfed","description":"Change the color of the header background"},"headerTitleColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#000000","description":"Change the color of the header title"},"headerSubtitleColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#55a4ed","description":"Change the color of the header subtitle"},"buttonTextColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#000000","description":"Change the color of the button text"},"buttonTextColorHover":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#000000","description":"Change the color of the button text when you hover it"},"buttonBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#ffffff","description":"Change the color of the button background"},"buttonBackgroundColorHover":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#0a5aa6","description":"Change the color of the button background when you hover it"},"signButtonTextColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#55a4ed","description":"Change the color of the text of the sign button (the one that let you continue the procedure)"},"signButtonTextColorHover":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#000000","description":"Change the color of the text of the sign button when you hover it"},"signButtonBackgroundColor":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#0a5aa6","description":"Change the color of the background of the sign button (the one that let you continue the procedure)"},"signButtonBackgroundColorHover":{"type":"string","pattern":"^#[0-9a-fA-F]{6}$","example":"#55a4ed","description":"Change the color of the background of the sign button when you hover it"},"sidebarLogo":{"type":"string","format":"uri","description":"Let you customize the logo shows on the top left corner, this will also be the logo shown on the email sent with the OTP (if email is the chosen authentication method)"},"hideSidebar":{"type":"boolean","default":false,"description":"If true, the sidebar will be hidden"},"hideHeader":{"type":"boolean","default":false,"description":"If true, the header will be hidden"},"hideDownloadValidated":{"type":"boolean","default":false,"description":"If true, the button that lets you download the uploaded document will be hidden"},"hideDownloadSigned":{"type":"boolean","default":false,"description":"If true, the button that lets you download the signed document will be hidden"},"iframeAncestors":{"type":"array","items":{"type":"string"},"example":["https://example.com","https://example2.com"],"description":"A list of parent URLs allowed to embed this webapp in an iframe"},"completeUrl":{"type":"string","format":"uri","description":"If evalueted, the complete button will be shown and let you redirect the final user to the url set"},"cancelUrl":{"type":"string","format":"uri","description":"If evalueted, the cancel button will be shown and let you redirect the final user to the url set"}}},"signatureMode":{"description":"Choose how the signer(s) will sign their signature. Default will be by typed.","default":"typed","type":"array","items":{"type":"string"},"example":["typed","drawn"]},"userEditableData":{"type":"object","description":"Choose if the signer(s) will be able to edit their data, change their name, the mobile phone or the email where the otp will be sent. By default these options are not required and will be set to true.","properties":{"name":{"type":"boolean","default":true},"mobile":{"type":"boolean","default":true},"email":{"type":"boolean","default":true}}},"timezone":{"$ref":"#/components/schemas/Timezones"},"signerMustRead":{"type":"boolean","description":"If true, the signer will be forced to read the document before being able to sign it.","default":false}}}},"required":["signers","inputDocuments"]},"InputDocuments":{"description":"The input documents to sign, you can specify: \n- a document as a URL (the system will download the document and guess the mimetype)\n- a base64 string of a file (the system will guess the mimetype)\n- a base64 string of the hash (SHA256) of a file (the system will guess the mimetype based on the hash length of 32)\n- an object `InputDocumentObject` with additional details such as the \"sourceType\" of the document, the \"url\" of the document, the \"headers\" for the remote document request, the HTTP \"method\" for the remote document request, the \"postData\" for the remote document request, the Base64 encoded \"payload\" of the document (in case of base64 sourceType) or the hash of the document (in case of base64Hash sourceType)\".\n- an array of some of the previous options\n\n\nNotes on the hash of the file:\n\nThis example show how create the hash of the file and encoding it in base64:\n\n```bash openssl dgst -sha256 -binary FILE_TO_BE_SIGN | openssl enc -a```\n\nThe output will be something like this: \"msj3f4hJCSELbMkWjkFwNrf0XhkebTnAKaKhx4686DY=\"\n\nThe system will guess if the base64 string is a hash or a file, if the string is a hash (SHA256==CHAR(32)) the system will sign the hash of the original file.\n\nTo override this guessing beaviour you can use the sourceType field in the InputDocumentObject schema.","oneOf":[{"type":"string","description":"A valid URL string","format":"uri"},{"type":"string","description":"A valid base64 string","format":"base64"},{"$ref":"#/components/schemas/InputDocumentObject"},{"type":"array","items":{"oneOf":[{"type":"string","description":"A valid URL string","format":"uri"},{"type":"string","description":"A valid base64 string","format":"base64"},{"$ref":"#/components/schemas/InputDocumentObject"}]}}],"example":{"$ref":"#/components/examples/InputDocumentUrl"}},"InputDocumentObject":{"description":"This object allows you to specify a document to be signed with more details","type":"object","properties":{"sourceType":{"type":"string","description":"Source type of the document","enum":["remote","base64","base64Hash"],"example":"remote"},"url":{"type":"string","description":"URL of the remote document","format":"uri","example":"https://my-domain.com/remoteResource.pdf"},"headers":{"type":"array","items":{"type":"string"},"description":"Headers for the remote document request","example":["Authorization: Bearer token"]},"method":{"type":"string","description":"HTTP method for the remote document request","default":"get","example":"get","enum":["get","post"]},"postData":{"type":"string","description":"Post data for the remote document request","example":"key=value"},"payload":{"type":"string","description":"Base64 encoded payload of the document or the hash of the document","example":"BASE64string or BASE64ofFileHASH"}}},"Callback":{"type":"object","required":["url"],"description":"This is our standardized OpenAPI callback system. It enables the configuration of parameters for receiving notifications about status updates of asynchronous requests to this endpoint.","properties":{"method":{"type":"string","description":"Specify the callback method. When set to 'POST', a standard HTTP POST request will be initiated with the Content-Type header set to application/x-www-form-urlencoded. The JSON data will be encoded into a key-value pair named data (customizable using the field parameter) within the request body. If the method is set to 'JSON', a direct HTTP POST request will be made with the Content-Type header set to application/json. The raw JSON data will be directly inserted into the request body without any encoding.","enum":["POST","JSON"],"default":"JSON"},"field":{"type":"string","description":"This parameter works in conjunction with the 'method' parameter set to 'POST'. When provided as a string, it determines the name of the parameter that will be sent in the POST request.","example":"data","default":"data"},"url":{"type":"string","format":"uri","description":"A valid URL capable of handling POST requests must be entered into this parameter. For endpoints requiring authentication, the 'headers' parameter can be used to specify 'basic auth' or 'bearer auth'. The maximum timeout is 30 seconds. If 'retry' is set, the system will retry up to 'retry' times until a 200 status code is received.","example":"https://www.mysite.com/myEndpoint"},"retry":{"type":"integer","description":"The maximum number of attempts is defined by the 'retry' parameter. If the maximum number of attempts is reached without a successful status code (e.g., 200 OK), the request is considered a final failure. A time interval is often introduced between attempts to avoid overloading the server. This interval may increase exponentially with each attempt to reduce the impact on an overloaded server. The 'retry' parameter is configured to retry the request only in case of specific status codes, typically those indicating temporary errors (e.g., 502, 503) or network issues.","example":3,"maximum":5,"minimum":0,"default":0},"headers":{"type":"object","properties":{"key":{"type":"string"}},"description":"A collection of HTTP headers to be sent with the request. Each header is defined as a key-value pair. Headers can be used for various purposes, including authentication, content negotiation, and custom metadata.","example":{"session_id":"9834r5fh589494"}},"custom":{"type":"object","description":"This object can be populated with any additional data you wish to include in the callback response. This data will be accessible within the 'custom' parameter of the callback function. You can use this to store and retrieve any relevant information that you need for your application.","example":{"my_custom_id":"123456789"}}}},"Timezones":{"type":"string","description":"An identifier for a valid timezone, default setting will be UTC.","example":"Europe/Rome","enum":["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmara","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/Buenos_Aires","America/Argentina/Catamarca","America/Argentina/Cordoba","America/Argentina/Jujuy","America/Argentina/La_Rioja","America/Argentina/Mendoza","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Atikokan","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Ciudad_Juarez","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Indianapolis","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Inuvik","America/Iqaluit","America/Jamaica","America/Juneau","America/Kentucky/Louisville","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montserrat","America/Nassau","America/New_York","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Nuuk","America/Ojinaga","America/Panama","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Ho_Chi_Minh","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Kathmandu","Asia/Khandyga","Asia/Kolkata","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Riyadh","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yangon","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kirov","Europe/Kyiv","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Chuuk","Pacific/Easter","Pacific/Efate","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Kanton","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Pohnpei","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Wake","Pacific/Wallis","UTC"]}},"examples":{"InputDocumentUrl":{"value":"https://my-domain.com/remoteResource.pdf"},"InputDocumentObject":{"value":{"sourceType":"remote","url":"https://my-domain.com/remoteResource.pdf","headers":null,"method":"get","postData":null,"payload":null}},"SignatureObjectDone":{"summary":"actionType:Detail - Signature process completed","value":{"id":"67af24c5af9b55291406e946","updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","signatureType":"pades","state":"DONE","options":{"asyncDocumentsValidation":true,"asyncSignature":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:12:33.819+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}],"validatedDocument":{"mimetype":"application/pdf","extension":"pdf","size":339,"createdAt":"2025-02-14 11:12:33.819+00:00","id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"},"signedDocument":{"createdAt":"2025-02-14 11:12:34.229+00:00","mimetype":"application/pdf","extension":"pdf","size":50133,"id":"67af252264f60538280f70fe","md5":"363cfdb141fe0e1a3f598e1d6377a4f5","name":"67af252164f60538280f70f9.pdf"}},"errorNumber":null,"errorMessage":null}},"SignatureObjectWaitValidation":{"summary":"actionType:Detail - Waiting for input file validation","value":{"id":"67af24c5af9b55291406e946","updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","signatureType":"pades","state":"WAIT_VALIDATION","options":{"asyncDocumentsValidation":true,"asyncSignature":false},"document":{"title":"MyDocument Title","description":""},"errorNumber":null,"errorMessage":null}},"SignatureObjectWaitSign":{"summary":"actionType:Detail - Waiting for signature process to complete","value":{"id":"67af24c5af9b55291406e946","updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","signatureType":"pades","state":"WAIT_SIGN","options":{"asyncDocumentsValidation":true,"asyncSignature":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:12:33.819+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}],"validatedDocument":{"mimetype":"application/pdf","extension":"pdf","size":339,"createdAt":"2025-02-14 11:12:33.819+00:00","id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}},"errorNumber":"null,","errorMessage":null}},"SignatureObjectError":{"summary":"actionType:Detail - Error during the signature process","value":{"id":"67af24c5af9b55291406e946","updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","signatureType":"pades","state":"ERROR","options":{"asyncDocumentsValidation":true,"asyncSignature":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:12:33.819+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}]},"errorNumber":110,"errorMessage":"Wrong Certificate Credentials"}},"SignatureList":{"value":{"data":[{"id":"67af252164f60538280f70f9","errorNumber":null,"errorMessage":null,"updatedAt":"2025-02-14 11:12:53.699+00:00","createdAt":"2025-02-14 11:12:34.218+00:00","certificateType":"EU-QES_automatic","state":"DONE","signatureType":"pades","documentTitle":"MyDocument Title"},{"id":"67af24c5af9b55291406e946","errorNumber":null,"errorMessage":null,"updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","state":"WAIT_VALIDATION","documentTitle":"MyDocument Title"},{"id":"67af238164f60538280f70f2","errorNumber":null,"errorMessage":null,"updatedAt":"2025-02-14 11:05:37.691+00:00","createdAt":"2025-02-14 11:05:37.691+00:00","certificateType":"EU-QES_automatic","state":"WAIT_SIGN","signatureType":"pades","documentTitle":"MyDocument Title"}],"success":true,"message":"","error":null}},"SignatureAuditJSON":{"summary":"actionType:Audit - Audit trail of the signature in JSON format","value":{"data":{"SignatureData":{"id":"67af252164f60538280f70f9","errorNumber":null,"errorMessage":null,"updatedAt":"2025-02-14 11:12:53.699+00:00","createdAt":"2025-02-14 11:12:34.218+00:00","certificateType":"EU-QES_automatic","state":"DONE","signatureType":"pades","options":{"asyncDocumentsValidation":false,"asyncSignature":false,"level":"B","hashAlgorithm":"SHA256","encryptInAnyCase":false,"page":1,"withSignatureField":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:12:33.819+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}],"validatedDocument":{"mimetype":"application/pdf","extension":"pdf","size":339,"createdAt":"2025-02-14 11:12:33.819+00:00","id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"},"signedDocument":{"createdAt":"2025-02-14 11:12:34.229+00:00","mimetype":"application/pdf","extension":"pdf","size":50133,"id":"67af252264f60538280f70fe","md5":"363cfdb141fe0e1a3f598e1d6377a4f5","name":"67af252164f60538280f70f9.pdf"}}},"AuditData":[{"id":"67af252164f60538280f70fa","createdAt":"2025-02-14 11:12:33.806+00:00","log":"New Signature Request From IP:93.150.88.183"},{"id":"67af252264f60538280f70fc","createdAt":"2025-02-14 11:12:34.021+00:00","log":"New Input Document. MD5:694be78a9eaa52d602bec92e211fa5dc"},{"id":"67af252264f60538280f70fd","createdAt":"2025-02-14 11:12:34.211+00:00","log":"New Validated Document. MD5:694be78a9eaa52d602bec92e211fa5dc"},{"id":"67af253564f60538280f70ff","createdAt":"2025-02-14 11:12:53.693+00:00","log":"New Signed Document. MD5:363cfdb141fe0e1a3f598e1d6377a4f5"}]},"success":true,"message":"","error":null}},"SignatureAuditHTML":{"summary":"actionType:Audit - Audit trail of the signature in HTML format","value":"<!DOCTYPE html>\n<html lang=\"en\">\n\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Signature Data</title>\n <style>\n @page {\n size: 210mm 297mm;\n margin: 10mm;\n }\n\n @media print {\n body {\n font-size: 12pt;\n }\n\n .page-break {\n page-break-before: always;\n }\n }\n\n body {\n font-family: sans-serif;\n }\n\n .container {\n width: 100%;\n margin: 0px;\n /* border: 1px solid #ccc; */\n /* padding: 20px; */\n }\n\n .section {\n margin-bottom: 20px;\n }\n\n .section-title {\n font-weight: bold;\n margin-bottom: 10px;\n }\n\n .data-table {\n width: 100%;\n border-collapse: collapse;\n }\n\n .data-table th,\n .data-table td {\n border: 1px solid #ccc;\n padding: 6px;\n text-align: left;\n }\n\n #auditTable tbody {\n font-size: 10pt;\n }\n </style>\n</head>\n\n<body>\n <div class=\"container\">\n <h1>Signature Data</h1>\n\n <div class=\"section\">\n <div class=\"section-title\">General Information</div>\n <table class=\"data-table\">\n <tr>\n <th>ID</th>\n <td>67af252164f60538280f70f9</td>\n </tr>\n <tr>\n <th>Updated At</th>\n <td>2025-02-14 11:12:53.699+00:00</td>\n </tr>\n <tr>\n <th>Created At</th>\n <td>2025-02-14 11:12:34.218+00:00</td>\n </tr>\n <tr>\n <th>Certificate Type</th>\n <td>EU-QES_automatic</td>\n </tr>\n <tr>\n <th>State</th>\n <td>DONE</td>\n </tr>\n <tr>\n <th>Signature Type</th>\n <td>pades</td>\n </tr>\n </table>\n </div>\n\n <div class=\"section\">\n <div class=\"section-title\">Signature Options</div>\n <table class=\"data-table\" id=\"optionTable\">\n <tr>\n <th>asyncDocumentsValidation</th>\n <td>false</td>\n </tr>\n <tr>\n <th>asyncSignature</th>\n <td>false</td>\n </tr>\n <tr>\n <th>level</th>\n <td>\"B\"</td>\n </tr>\n <tr>\n <th>hashAlgorithm</th>\n <td>\"SHA256\"</td>\n </tr>\n <tr>\n <th>encryptInAnyCase</th>\n <td>false</td>\n </tr>\n <tr>\n <th>page</th>\n <td>1</td>\n </tr>\n <tr>\n <th>withSignatureField</th>\n <td>false</td>\n </tr>\n </table>\n </div>\n\n <div class=\"section\">\n <div class=\"section-title\">Document</div>\n <table class=\"data-table\">\n <tr>\n <th>Title</th>\n <td>MyDocument Title</td>\n </tr>\n <tr>\n <th>Description</th>\n <td></td>\n </tr>\n </table>\n </div>\n <div class=\"section\">\n <div class=\"section-title\">Signed Document</div>\n <table class=\"data-table\">\n <tr>\n <th>ID</th>\n <td>67af252264f60538280f70fe</td>\n </tr>\n <tr>\n <th>Created At</th>\n <td>2025-02-14 11:12:34.229+00:00</td>\n <th>Mimetype</th>\n <td>application/pdf</td>\n </tr>\n <tr>\n <th>Name</th>\n <td>67af252164f60538280f70f9.pdf</td>\n <th>Extension</th>\n <td>pdf</td>\n </tr>\n <tr>\n <th>MD5</th>\n <td>363cfdb141fe0e1a3f598e1d6377a4f5</td>\n <th>Size</th>\n <td>50133</td>\n </tr>\n </table>\n </div>\n\n\n <div class=\"section\">\n <div class=\"section-title\">Validated Document</div>\n <table class=\"data-table\">\n <tr>\n <th>ID</th>\n <td>67af252164f60538280f70fb</td>\n </tr>\n <tr>\n <th>Created At</th>\n <td>2025-02-14 11:12:33.819+00:00</td>\n <th>Mimetype</th>\n <td>application/pdf</td>\n </tr>\n <tr>\n <th>Name</th>\n <td>694be78a9eaa52d602bec92e211fa5dc.pdf</td>\n <th>Extension</th>\n <td>pdf</td>\n </tr>\n <tr>\n <th>MD5</th>\n <td>694be78a9eaa52d602bec92e211fa5dc</td>\n <th>Size</th>\n <td>339</td>\n </tr>\n </table>\n </div>\n <div class=\"page-break\"></div>\n <div class=\"section\">\n <div class=\"section-title\">Input Documents</div>\n\n\n <table class=\"data-table\">\n <tr>\n <th>ID</th>\n <td>67af252164f60538280f70fb</td>\n <th>Source Type</th>\n <td>base64</td>\n </tr>\n <tr>\n <th>Created At</th>\n <td>2025-02-14 11:12:33.819+00:00</td>\n <th>Mimetype</th>\n <td>application/pdf</td>\n </tr>\n <tr>\n <th>Name</th>\n <td>694be78a9eaa52d602bec92e211fa5dc.pdf</td>\n <th>Extension</th>\n <td>pdf</td>\n </tr>\n <tr>\n <th>MD5</th>\n <td>694be78a9eaa52d602bec92e211fa5dc</td>\n <th>Size</th>\n <td>339</td>\n </tr>\n\n </table>\n\n </div>\n\n\n <div class=\"section\">\n <div class=\"section-title\">Audit Data</div>\n <table class=\"data-table\" id=\"auditTable\">\n <thead>\n <tr>\n <th>Operation ID</th>\n <th>Operation Timestamp</th>\n <th>Operation Detail</th>\n </tr>\n </thead>\n <tbody>\n\n <tr>\n <td>67af252164f60538280f70fa</td>\n <td>2025-02-14 11:12:33.806+00:00</td>\n <td>New Signature Request From IP:93.150.88.183</td>\n </tr>\n\n <tr>\n <td>67af252264f60538280f70fc</td>\n <td>2025-02-14 11:12:34.021+00:00</td>\n <td>New Input Document. MD5:694be78a9eaa52d602bec92e211fa5dc</td>\n </tr>\n\n <tr>\n <td>67af252264f60538280f70fd</td>\n <td>2025-02-14 11:12:34.211+00:00</td>\n <td>New Validated Document. MD5:694be78a9eaa52d602bec92e211fa5dc</td>\n </tr>\n\n <tr>\n <td>67af253564f60538280f70ff</td>\n <td>2025-02-14 11:12:53.693+00:00</td>\n <td>New Signed Document. MD5:363cfdb141fe0e1a3f598e1d6377a4f5</td>\n </tr>\n\n </tbody>\n </table>\n </div>\n\n </div>\n</body>\n\n</html>\n"},"SignatureAuditTXT":{"summary":"actionType:Audit - Audit trail of the signature in TXT format","value":"SignatureAuditReport:\n SignatureData:\n id: 67af252164f60538280f70f9\n errorNumber: null\n errorMessage: null\n updatedAt: '2025-02-14 11:12:53.699+00:00'\n createdAt: '2025-02-14 11:12:34.218+00:00'\n certificateType: EU-QES_automatic\n state: DONE\n signatureType: pades\n options:\n asyncDocumentsValidation: false\n asyncSignature: false\n level: B\n hashAlgorithm: SHA256\n encryptInAnyCase: false\n page: 1\n withSignatureField: false\n document:\n title: 'MyDocument Title'\n description: ''\n inputDocuments:\n -\n sourceType: base64\n createdAt: '2025-02-14 11:12:33.819+00:00'\n mimetype: application/pdf\n extension: pdf\n size: 339\n id: 67af252164f60538280f70fb\n md5: 694be78a9eaa52d602bec92e211fa5dc\n name: 694be78a9eaa52d602bec92e211fa5dc.pdf\n validatedDocument:\n mimetype: application/pdf\n extension: pdf\n size: 339\n createdAt: '2025-02-14 11:12:33.819+00:00'\n id: 67af252164f60538280f70fb\n md5: 694be78a9eaa52d602bec92e211fa5dc\n name: 694be78a9eaa52d602bec92e211fa5dc.pdf\n signedDocument:\n createdAt: '2025-02-14 11:12:34.229+00:00'\n mimetype: application/pdf\n extension: pdf\n size: 50133\n id: 67af252264f60538280f70fe\n md5: 363cfdb141fe0e1a3f598e1d6377a4f5\n name: 67af252164f60538280f70f9.pdf\n AuditData:\n -\n id: 67af252164f60538280f70fa\n createdAt: '2025-02-14 11:12:33.806+00:00'\n log: 'New Signature Request From IP:93.150.88.183'\n -\n id: 67af252264f60538280f70fc\n createdAt: '2025-02-14 11:12:34.021+00:00'\n log: 'New Input Document. MD5:694be78a9eaa52d602bec92e211fa5dc'\n -\n id: 67af252264f60538280f70fd\n createdAt: '2025-02-14 11:12:34.211+00:00'\n log: 'New Validated Document. MD5:694be78a9eaa52d602bec92e211fa5dc'\n -\n id: 67af253564f60538280f70ff\n createdAt: '2025-02-14 11:12:53.693+00:00'\n log: 'New Signed Document. MD5:363cfdb141fe0e1a3f598e1d6377a4f5'\n"},"SignatureAuditPDF":{"summary":"actionType:Audit - Audit trail of the signature in PDF format","externalValue":"https://docs.openapi.it/esignature/auditExample.pdf"},"SignedDocument":{"summary":"actionType:SignedDocument","externalValue":"https://docs.openapi.it/esignature/padesExample.pdf"},"ValidatedDocument":{"summary":"actionType:ValidatedDocument","value":"BINARY DATA"}},"responses":{"signatures200":{"description":"Successful operation","content":{"*/*":{"schema":{"type":"string","format":"binary"},"examples":{"detail SIGNED":{"$ref":"#/components/examples/SignedDocument"},"detail VALIDATED":{"$ref":"#/components/examples/ValidatedDocument"}}},"application/json":{"schema":{"$ref":"#/components/schemas/SignatureObject"},"examples":{"detail DONE":{"$ref":"#/components/examples/SignatureObjectDone"},"detail WAIT_VALIDATION":{"$ref":"#/components/examples/SignatureObjectWaitValidation"},"detail WAIT_SIGN":{"$ref":"#/components/examples/SignatureObjectWaitSign"},"detail ERROR":{"$ref":"#/components/examples/SignatureObjectError"},"audit JSON":{"$ref":"#/components/examples/SignatureAuditJSON"}}},"text/plain":{"schema":{"type":"string"},"examples":{"detail audit txt":{"$ref":"#/components/examples/SignatureAuditTXT"}}},"text/html":{"schema":{"type":"string","format":"html"},"examples":{"detail audit html":{"$ref":"#/components/examples/SignatureAuditHTML"}}},"application/pdf":{"schema":{"type":"string","format":"binary"},"examples":{"detail audit pdf":{"$ref":"#/components/examples/SignatureAuditPDF"}}}}},"EU-QES_automatic200":{"description":"Successful operation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/EU-QES_POST"},"examples":{"wait_validation":{"summary":"Waiting for validation","value":{"data":{"id":"67af24c5af9b55291406e946","updatedAt":"2025-02-14 11:11:01.892+00:00","createdAt":"2025-02-14 11:11:01.892+00:00","certificateType":"EU-QES_automatic","state":"WAIT_VALIDATION","options":{"asyncDocumentsValidation":true,"asyncSignature":false},"document":{}},"message":"Created","success":true,"error":null}},"done":{"summary":"Signature process completed","value":{"data":{"id":"67af252164f60538280f70f9","updatedAt":"2025-02-14 11:12:53.699+00:00","createdAt":"2025-02-14 11:12:34.218+00:00","certificateType":"EU-QES_automatic","state":"DONE","signatureType":"pades","options":{"asyncDocumentsValidation":false,"asyncSignature":false,"level":"B","hashAlgorithm":"SHA256","encryptInAnyCase":false,"page":1,"withSignatureField":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:12:33.819+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}],"validatedDocument":{"mimetype":"application/pdf","extension":"pdf","size":339,"createdAt":"2025-02-14 11:12:33.819+00:00","id":"67af252164f60538280f70fb","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"},"signedDocument":{"createdAt":"2025-02-14 11:12:34.229+00:00","mimetype":"application/pdf","extension":"pdf","size":50133,"id":"67af252264f60538280f70fe","md5":"363cfdb141fe0e1a3f598e1d6377a4f5","name":"67af252164f60538280f70f9.pdf"}}},"message":"Created","success":true,"error":null}},"wait_sign":{"summary":"Waiting for signature process to complete","value":{"success":true,"message":"Created","error":null,"data":{"id":"67af238164f60538280f70f2","updatedAt":"2025-02-14 11:05:37.691+00:00","createdAt":"2025-02-14 11:05:37.691+00:00","certificateType":"EU-QES_automatic","state":"WAIT_SIGN","signatureType":"pades","options":{"asyncDocumentsValidation":false,"asyncSignature":true,"level":"B","hashAlgorithm":"SHA256","encryptInAnyCase":false,"page":1,"withSignatureField":false},"document":{"title":"MyDocument Title","description":"","inputDocuments":[{"sourceType":"base64","createdAt":"2025-02-14 11:05:37.248+00:00","mimetype":"application/pdf","extension":"pdf","size":339,"id":"67af238164f60538280f70f6","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}],"validatedDocument":{"mimetype":"application/pdf","extension":"pdf","size":339,"createdAt":"2025-02-14 11:05:37.248+00:00","id":"67af238164f60538280f70f6","md5":"694be78a9eaa52d602bec92e211fa5dc","name":"694be78a9eaa52d602bec92e211fa5dc.pdf"}}}}}}}}},"POSTsignature422":{"description":"Unprocessable Entity. This response is returned when validation fails or the request cannot be processed.","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","description":"Indicates if the request was successful (always false for errors).","example":false},"message":{"type":"string","description":"A human-readable message explaining the specific error."},"error":{"type":"integer","description":"A specific application-defined error code."},"data":{"type":"object","nullable":true,"description":"Contains additional error data, or null if not applicable.","example":null}},"required":["success","message","error","data"]},"examples":{"MissingCertificateUsername":{"summary":"Example: Missing certificate username","value":{"success":false,"message":"certificateUsername required","error":635,"data":null}},"MissingCertificatePassword":{"summary":"Example: Missing certificate password","value":{"success":false,"message":"certificatePassword required","error":640,"data":null}},"InvalidSignatureType":{"summary":"Example: Invalid invalid signature type","value":{"success":false,"message":"invalid signatureType","error":622,"data":null}},"InvalidOptionsProperty":{"summary":"Example: invalid options property","value":{"success":false,"message":"invalid options property","error":625,"data":null}},"InputDocumentsRequired":{"summary":"Example: input documents required","value":{"success":false,"message":"inputDocuments required","error":615,"data":null}}}}}},"EU-SES200":{"description":"Successful operation","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Signature's id.","example":"693957bddcc141c34e03fcd9"},"errorNumber":{"example":null,"description":"Internal error number, if no error presents than it will be null."},"errorMessage":{"example":null,"description":"Error message displayed if presents, if no error presents then it'll be null."},"updatedAt":{"type":"string","description":"Update date.","example":"2025-12-10 11:21:33.653+00:00"},"createdAt":{"type":"string","description":"Creation date.","example":"2025-12-10 11:21:33.653+00:00"},"certificateType":{"type":"string","description":"Type of certificate.","example":"EU-SES"},"state":{"type":"string","description":"Indicates the various possible states of the operation.","example":"WAIT_VALIDATION"},"signatureType":{"type":"string","description":"Type of signature used for the operation. EU-SES only use pades.","example":"pades"},"signers":{"type":"array","description":"List of all the signers.","items":{"type":"object","properties":{"authentication":{"type":"array","items":{"type":"string","enum":["email","sms"]},"description":"Authentication methods used."},"name":{"type":"string","example":"Mario"},"surname":{"type":"string","example":"Rossi"},"state":{"type":"string","example":"NEW"},"mobileEditable":{"type":"boolean","example":false},"email":{"type":"string","format":"email","example":"example@email.com"},"emailEditable":{"type":"boolean","example":false},"id":{"type":"string","format":"uuid","example":"ec37f0c7-4f6e-4185-b2a8-5860277b762c"},"url":{"type":"string","format":"uri","example":"https://dev.esign.openapi.com/..."},"language":{"type":"string","example":"browser"},"message":{"type":"string","example":"Hi, this is your OTP: "},"signatures":{"type":"array","items":{"type":"object","properties":{"page":{"type":"integer"},"x":{"type":"integer"},"y":{"type":"integer"}}}},"emailValidation":{"type":"object","properties":{"domain":{"type":"string"},"host":{"type":"string"},"otpAttempts":{"type":"integer"},"mxRecords":{"type":"array","items":{"type":"object","properties":{"host":{"type":"string"},"class":{"type":"string"},"ttl":{"type":"integer"},"type":{"type":"string"},"pri":{"type":"integer"},"target":{"type":"string"}}}}}}}}},"options":{"type":"object","description":"All the options for the operation, some are set to default if the caller didn't set them.","example":{"asyncDocumentsValidation":true,"asyncSignature":false,"signatureMode":["typed"],"ui":{"cancelUrl":"google.com","completeUrl":"google.com","hideSidebar":false},"timezone":"UTC"}},"document":{"type":"object","description":"This object contains all details about the document passed with the call"}}}}}},"certificateOwner400":{"description":"Missing required fields","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CertificateOwnerErrorResponse400"},"examples":{"missingFields":{"summary":"All required fields missing","value":{"status":400,"errors":[{"field":"certificateOwner","errorCode":201,"message":"certificateOwner required"},{"field":"name","errorCode":300,"message":"name required"},{"field":"surname","errorCode":301,"message":"surname required"},{"field":"email","errorCode":302,"message":"email required"},{"field":"mobile","errorCode":303,"message":"mobile required"},{"field":"fiscalCode","errorCode":304,"message":"fiscalCode required"},{"field":"birthDate","errorCode":305,"message":"birthDate required"},{"field":"gender","errorCode":306,"message":"gender required"},{"field":"birthTown","errorCode":307,"message":"birthTown required"},{"field":"birthProvince","errorCode":308,"message":"birthProvince required"},{"field":"birthCountry","errorCode":309,"message":"birthCountry required"},{"field":"address","errorCode":310,"message":"address required"},{"field":"town","errorCode":311,"message":"town required"},{"field":"province","errorCode":312,"message":"province required"},{"field":"zip","errorCode":313,"message":"zip required"},{"field":"country","errorCode":314,"message":"country required"},{"field":"shippingName","errorCode":315,"message":"shippingName required"},{"field":"shippingEmail","errorCode":316,"message":"shippingEmail required"},{"field":"shippingMobile","errorCode":317,"message":"shippingMobile required"},{"field":"shippingAddress","errorCode":318,"message":"shippingAddress required"},{"field":"shippingTown","errorCode":319,"message":"shippingTown required"},{"field":"shippingProvince","errorCode":320,"message":"shippingProvince required"},{"field":"shippingZip","errorCode":321,"message":"shippingZip required"},{"field":"idCardType","errorCode":322,"message":"idCardType required"},{"field":"idCardNumber","errorCode":323,"message":"idCardNumber required"},{"field":"idCardIssuer","errorCode":324,"message":"idCardIssuer required"},{"field":"idCardIssuingDate","errorCode":325,"message":"idCardIssuingDate required"},{"field":"idCardExpiryDate","errorCode":326,"message":"idCardExpiryDate required"}]}}}}}}},"requestBodies":{"SignatureCallback":{"content":{"application/json":{"schema":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/SignatureObject"},"custom":{"type":"object","description":"Custom data","properties":{"key":{"type":"string","description":"Custom key","example":"value"}}}},"required":["data"]}},"application/x-www-form-urlencoded":{"schema":{"type":"object","properties":{"data":{"type":"string","description":"Signature data in json format"},"custom":{"type":"string","description":"Custom data in json format"}}}}},"description":"Callback URL to receive the signature status","required":true}}}}