This reference describes the Sertifi SOAP web services: Gateway, GatewayV2, and GatewayV3.
GatewayV2 inherits every Gateway operation. GatewayV3 inherits every GatewayV2 and Gateway operation. You can call an inherited operation on the newer endpoint.
EnableIDCheck, AddFormToRequest, AddPrepopulatedFormToRequest, AutofillUserName, CreateFaxShell, RemoveFormFromRequest, GatewayV2.GetMaintenanceLink.Conventions
Endpoint and SOAP namespace
| Item | Value |
|---|---|
| Endpoint | {BASE_URL}/Services/Gateway.asmx |
| WSDL | {BASE_URL}/Services/Gateway.asmx?WSDL |
| XML namespace | http://apps.sertifi.net/services/ |
| Binding profile | WS-I Basic Profile 1.1 |
| Style | Document/literal (ASP.NET ASMX default) |
{BASE_URL} is the base URL of your portal environment. Sertifi gives you this value.
Protocols
The service configuration does not override the ASP.NET web service protocol defaults. These defaults apply:
| Protocol | Status |
|---|---|
| SOAP 1.1 | Enabled |
| SOAP 1.2 | Enabled |
| HTTP GET | Disabled |
| HTTP POST | Disabled for remote callers |
| Documentation (WSDL and help page) | Enabled |
Use SOAP 1.1 or SOAP 1.2 for all calls.
Authentication
Most methods take an API code as their first parameter. The parameter name changes between methods (pstr_APICode, p_APICode, or p_ApiCode). The value is the same API code in all cases.
Make sure that your API code meets these conditions:
- The API code is not empty.
- The API code belongs to your portal account.
- Your portal account is enabled.
The service also applies these controls:
- If the portal account has IP access restrictions, the client IP address must be in the allow list for that account. If the IP address is not in the list, the service returns a SOAP fault. The fault message starts with "Request has been denied due to IP restrictions".
- Some methods can have a rate limit for each API code. If you exceed the limit, the service returns a SOAP fault with the message "Rate limit exceeded". The service then applies a cool-off period.
If the API code is not valid, most methods return ERROR: Invalid API Code. Methods that return a byte array return an empty array.
Keep your API code secret. Send it only over HTTPS. Do not put it in client-side code.
The API code has the format of a GUID, for example {API_CODE} = 00000000-0000-0000-0000-000000000000.
File ID, Document ID, and other identifiers
The service returns identifiers as strings:
- File ID (the signature request, also called a folder).
CreateSignatureRequestreturns it.FileQueryand the status methods also return it. - Document ID. Methods that add documents return it.
- Reference document ID. Reference document methods return it when you set
returnIdtotrue. - Payment ID.
CreatePaymentreturns it.
These identifiers are opaque values. Store them exactly as the service returns them. Do not construct, change, or parse them. Do not assume a format or a length.
Response conventions
Most methods return a string. Read the string as follows:
| Result | Meaning |
|---|---|
SUCCESS |
The operation completed. |
| A value (an ID or an XML document) | The operation completed. The method description tells you the format. |
Starts with ERROR |
The operation failed. Most messages have the format ERROR: {description}. |
Exceptions to this rule:
EditUserreturns some errors with the prefixError:(mixed case). Compare the prefix without case sensitivity.RemoveFormFromRequestis no longer supported. It returnsThis API call is no longer supported.with noERRORprefix.- Methods that return a byte array (for example
DownloadSignedDocument,DownloadFileContents,GetDocumentSummary) return an empty array when an error occurs. They do not return an error message.CreateFaxShellis no longer supported and always returns an empty array. - Methods that return a complex type put the error in a field of that type. See
FileQueryResult.ErrorMessage,UrlQueryResult.Error, andNotificationResult.ErrorMessage. - IP restriction errors, rate limit errors, and unexpected server errors come back as SOAP faults.
- Input that the service cannot process (for example a missing required object, an unparseable date, an unknown enum value, or an ID of the wrong type) also returns a SOAP fault. Handle SOAP faults as well as
ERROR:strings.
Do not parse the text after ERROR:. The text can change. Use it for logging and support only.
Common workflows
Send an eSignature request by email
CreateSignatureRequest— creates a folder and assigns signer(s)AddDocumentToRequestorAddPrepopulatedPdfToRequest— attach documents / templatesInviteSignerorInviteSigners— sends the eSignature request via email
In-session / embedded signing
CreateSignatureRequestAddDocumentToRequestorAddPrepopulatedPdfToRequestGetLink(withFileSigningPageLinkorSigningPageLink) — returns the in-session signing link
Gateway
Endpoint: {BASE_URL}/Services/Gateway.asmx
| Operation | Summary |
|---|---|
| CreateSignatureRequest | Creates a new file (signature request) in the portal that owns the API code. Adds the sender, the signers, the second signers and the CCs to the file. Returns the File ID that you use in all other file operations. |
| AddDocumentToRequest | Uploads a signature document to a file. The service converts the document to PDF, processes text tags and optional prefill data, and returns a Document ID. |
| AddPrepopulatedPdfToRequest | Adds a signature document from the portal's document library to a file. You can prefill the PDF fields with XML. Returns a Document ID. |
| AddReferenceDocumentFromLibrary | Adds a reference document from the portal's document library to a file. Signers can see reference documents but do not sign them. You can set visibility permissions and custom metadata. |
| AddReferenceDocumentToRequest | Uploads a reference document to a file. Signers can see reference documents but do not sign them. You can set visibility permissions and custom metadata. |
| AddInstructionalDocumentToRequest | Uploads an instructional document to a file. Instructional documents give information to participants and are not signed. |
| AddSignerToRequest | Adds a signer to a file at a signing level. You can also give a mobile phone number for SMS notifications. |
| AddSecondSignerToRequest | Adds a signer to a file at signing level 2. |
| AddCCToRequest | Adds a CC (a participant who does not sign) to a file. |
| InviteSigners | Sends invitations to the signers who can sign now (the current signing level). It can also notify all CCs. |
| GetDocumentSummary | Returns the summary (audit trail) PDF for a file or for one document in the file. |
| InviteSignersWithAttachment | Sends invitations to the first-level signers. Each invitation has the first unsigned document attached as a PDF. |
| InviteSigner | Sends an invitation to one participant of a file. A signer gets a signing invitation. A participant who is only a CC gets a CC notification. |
| GetFilesStatus | Returns a short status for each file in the portal that was created in a date range. |
| GetMinimalFileStatus | Returns a short status for one file. |
| GetFileStatus | Returns the full status of one file: file settings, signers, documents, signatures and participant groups. |
| GetFileSigners | Returns one entry for each signing request in a file, with the signer and the signature details. |
| GetDocumentsStatus | Returns the documents in the portal that were created in a date range and have a given status. You can filter by signer email. |
| GetUserInfo | Returns the profile of a user in the portal. |
| RemoveSignatureRequest | Deletes a file (signature request) and all of its documents. If the file has activity that must be kept, the service archives the file instead of deleting it. |
| RemoveDocument | Removes one document from a file. The service also removes the payment and authorization requests that are attached to that document. |
| RemoveReferenceDocument | Removes a reference document or an instructional document from a file. |
| RemoveUser | Removes a signer from one signing level of a file, or removes a CC from a file. |
| EditUser | Replaces a signer at one signing level with a different email address. |
| ChangeSignerEmail | Replaces a participant email address in a file at all signing levels. |
| GetSigningLink | Returns a link to the file signing page for one signer or for the file owner. |
| SendSignedDocumentEmail | Sends the "document signed" email for one document again. |
| DownloadSignedDocument | Returns the signed PDF for one document. |
| DownloadFileContents | Returns a ZIP archive with the signed documents and reference documents of a file. |
| GetMaintenanceLink | Returns a link that opens the file maintenance page for the file owner. |
| GetDocumentHash | Returns the stored hash value of a fully signed document. |
| ApplySignature | Applies an electronic signature to a document for one signer, with no signer interaction. |
| GetStatusOnChangedFiles | Returns the status of all files that changed or were deleted in a date range. |
| AddSigningLocation | Adds a full-name signature field for a signer on a document. This is a shortcut for AddLocation with location type 1. |
| AddLocation | Adds a field (signature, initials, text, upload or payment location) for a signer on a document. |
| SetSigningBoxLocation | Adds a large signature box for a signer on a document. This is a shortcut for AddLocation with location type 7. It replaces any existing large signature box for the same signer request. |
| ApplyTemplate | Applies a library template (a saved set of field locations) to a document, for one signer or for all signers. |
| VerifyFolderPassword | Checks a password against the password of a file. |
| SetRedirectURL | Sets the URL that the signer goes to after an action on the file. |
| FileQuery | Searches the files of your account by metadata and returns a summary for each match. |
| SetDocumentParameters | Updates properties of one document in a file. You can set the three document external IDs. You can also expire or unexpire the document. |
| SetSignatureRequestParameters | Updates settings of a file (signature request). You can set signer options, file metadata, language, email group, expiration, and other file settings. You can also add custom metadata to the file. |
| SendNotificationMessage | Sends a payment-related email notification to participants of a file. The notification can be a payment invitation, a payment due invitation, or a payment cancellation. |
| GetLink | Creates one or more links to pages or documents of a file. Each item in the request gives one result. Each result contains a link or an error. |
| CreatePayment | Adds a payment request to a file. The payment can be a one-time or monthly payment, and the operation can be pay or authorize. |
| RemovePayment | Removes a payment request from a file. You can remove a payment only when it is awaiting payment or in error. |
| GetPaymentsStatus | Returns the details and status of the payments in a file. You can get all payments of the file or one payment. |
| Retired operations | EnableIDCheck, AddFormToRequest, AddPrepopulatedFormToRequest, AutofillUserName, CreateFaxShell, RemoveFormFromRequest. |
CreateSignatureRequest
Creates a new file (signature request) in the portal that owns the API code. Adds the sender, the signers, the second signers and the CCs to the file. Returns the File ID that you use in all other file operations.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. The match is not case-sensitive. |
| pstr_SenderEmail | string | Yes | The email of the file owner (sender). Maximum 100 characters. The service changes it to lowercase and removes spaces. |
| pstr_SenderName | string | No | The sender's full name. The service splits it at the first space into a first name and a last name. Each part has a maximum of 32 characters. |
| pstr_FileName | string | Yes | The file name. The service truncates it to 150 characters. |
| pstr_Signers | string | Yes | A list of first-level signer emails, separated by commas or semicolons. Each email has a maximum of 100 characters. The service changes the emails to lowercase and removes spaces. |
| pstr_SecondSigners | string | No | A comma-separated list of second-level signer emails. Do not use semicolons in this list. |
| pstr_CCs | string | No | A comma-separated list of CC emails. Do not use semicolons in this list. Do not repeat an email in this list (see Notes). |
| pstr_Cosign | string | No | Send exactly true (lowercase) to add the sender as a first-level signer. Any other value turns cosign off. |
| pstr_SignType | string | No | elec (electronic only) or fax (fax only). The match is not case-sensitive. Any other value, or no value, gives electronic and fax. If fax is disabled for the portal, the service always uses electronic. |
| pstr_Password | string | No | The file password. Maximum 50 characters. Send an empty value for no password. |
| pstr_Field1 | string | No | Custom field 1 value for the file. The service does no length validation. |
| pstr_Field2 | string | No | Custom field 2 value. Same rules as pstr_Field1. |
| pstr_Field3 | string | No | Custom field 3 value. Same rules as pstr_Field1. |
| pstr_Field4 | string | No | Custom field 4 value. Same rules as pstr_Field1. |
| pstr_EmailMessage | string | No | The email message (caption) for the invitations. The service also adds it as the first comment in the file activity stream. |
Returns: string. On success, the File ID: an opaque encrypted string. On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Filename cannot be empty or nullERROR: Password cannot be exceed 50 charactersERROR: Invalid sender emailERROR: Invalid sender email: '{pstr_SenderEmail}': {reason}ERROR: pstr_Signers is invalidERROR: pstr_Signers is invalid: '{pstr_Signers}': {reason}ERROR: pstr_CCs is invalid: '{pstr_CCs}': {reason}ERROR: pstr_SecondSigners is invalid: '{pstr_SecondSigners}': {reason}ERROR: No. of total signers in the room can not be more than 24.ERROR: Sender name too longERROR: Sender last name too longERROR: User, {pstr_SenderEmail}, is disabled and cannot create files.
{reason} is one of these email validation messages: Email address too long or too short., Invalid email domain., Email contains invalid characters or is not complex enough., Email address missing., Email address too short.
Notes:
- The maximum is 24 signers in total (first signers plus second signers). The service counts the entries in the lists after it splits them at commas. An empty entry (for example, after a trailing comma) also counts. Do not end a list with a comma.
- The service does the 24-signer check before it adds the sender for cosign. Do not send more than 23 signers in total when pstr_Cosign is
true. - If no user exists for the sender email, the service creates one.
- If the sender already exists and has no first name or no last name, the service updates the name from pstr_SenderName.
- The service adds the portal's permanent CC emails to the CC list.
- The service creates a user record for each new participant email.
- This operation sends no emails. Use InviteSigners or InviteSigner to send invitations.
- A repeated email in pstr_CCs causes a server error (SOAP fault), not an
ERROR:string.
AddDocumentToRequest
Uploads a signature document to a file. The service converts the document to PDF, processes text tags and optional prefill data, and returns a Document ID.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pbyt_File | byte[] | Yes | The document contents (base64 in the SOAP message). Must not be empty. |
| pstr_FileName | string | Yes | The document file name with an extension. The service replaces characters that are not valid in file names with _. This includes the path separators \, / and :, so send the file name only, without a path. For example, C:\docs\a.pdf becomes C__docs_a.pdf. The service truncates the name to 100 characters (it keeps the extension). The extension must be a type that the service can convert to PDF. A PDF without an extension is accepted. |
| pstr_Title | string | Yes | The document title. The service truncates it to 100 characters. |
| pstr_Xml | string | No (default null) |
Prefill XML. Format: <record><field Name="PDF field name" Text="value" /></record>. |
Returns: string. On success, the Document ID: an opaque encrypted string (not SUCCESS). On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Title cannot be empty or nullERROR: You are attempting to upload a null referenced byte arrayERROR: You are attempting to upload a zero-length fileERROR: pstr_FileName parameter is an invalid.ERROR: File could not be accessedERROR: Room ExpiredERROR: Not enough licenses available to upload this documentERROR: {message}when the document cannot be added. Known messages include:A folder cannot have more than a 100 documents. Current count: {n}This folder was created more than {n} days ago and cannot accept anymore documents. Date created: {date}Documents cannot be added to Consolidated Signing Folders after a signer has signed.Filename does not have an extension and the file is not a PDF.File type not supported. Please contact {SUPPORT_EMAIL} for further information.Could not save the document as a PDFThe document contains an invalid intelligent tag.Unable to merge documents as room contains more that one document.HTML documents/forms can't be merged.Document in the room is already signed or unavailable for signature.Unable to merge documents.Unable to save the file to the vault. {details}Could not pre-fill data. {details}- Other PDF processing and signing-location validation messages.
Notes:
- Each successful upload uses one license of the file owner.
- The service does not block uploads to archived files. It blocks only expired files.
- Depending on the portal merge setting, the service can merge the new document into an existing document in the file.
- This operation does not send invitations.
AddPrepopulatedPdfToRequest
Adds a signature document from the portal's document library to a file. You can prefill the PDF fields with XML. Returns a Document ID.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_PdfID | string | Yes | The document library ID of a signature document in the same portal. |
| pstr_Title | string | Yes | The document title. Maximum effective length is 100 characters. If the title is longer, the service truncates it and keeps any text after the last period. |
| pstr_Xml | string | Yes | Prefill XML. Format: <?xml version="1.0" encoding="utf-8"?><record><field Name="PDF field name" Text="value" /></record>. You can send an empty value. |
Returns: string. On success, the Document ID: an opaque encrypted string. On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Title cannot be empty or nullERROR: Title cannot be exceed 100 characters(only when the title is longer than 100 characters and contains characters that are not valid in a path)ERROR: File could not be accessedERROR: Room ExpiredERROR: Form could not be accessedERROR: Not enough licenses available to upload this documentERROR: Could not load form(the ID does not identify a signature document in this portal, or the content cannot be read)ERROR: Could not add form to the file.- All errors of AddDocumentToRequest.
Notes:
- The library document must belong to the same portal as the API code.
- Library IDs that decrypt to a value from 1 to 1000 are mapped to a legacy ID range.
- If the library document has callback validation enabled, the new document also has it.
- If pstr_Xml is null, the service uses saved prefill XML for this library document and file, if it exists, and then deletes the saved copy.
- Each successful upload uses one license.
AddReferenceDocumentFromLibrary
Adds a reference document from the portal's document library to a file. Signers can see reference documents but do not sign them. You can set visibility permissions and custom metadata.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_LibraryId | string | Yes | The document library ID of a reference document in the same portal. |
| pstr_Title | string | No | The document title. If empty, the service uses the library title. The service truncates it to 100 characters. |
| returnId | bool | No (default false) |
true returns the reference document ID. false returns SUCCESS. |
| permissions | ReferenceDocumentPermission[] | No (default null) |
Visibility rules. Each item has Email (string, optional, must be a valid email), Sequence (short), Role (Signer or CC) and Action (Hide or Show). For CC, Sequence must be 0. For Signer, Sequence must be from 0 to 255; 0 means any signer level. Always send Role. If you do not send it, the service does not validate Sequence for that item. |
| customMetadataXML | string | No (default null) |
Custom metadata in the prefill format: <record><field Name="name" Text="value" /></record>. |
Returns: string. SUCCESS, or the reference document ID (an opaque encrypted string) when returnId is true. On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid document library id.ERROR: Invalid API CodeERROR: File could not be accessedERROR: Room ExpiredERROR: Invalid SEQUENCE in permissions, CC's sequence should equal to zeroERROR: Invalid SEQUENCE in permissions, sequence should be >= zero and less than 255 for signers(the service accepts 255)ERROR: Invalid EMAIL in permissions: {reason}ERROR: could not parse custom metadata(lowercase "could")ERROR: Could not fetch reference document from the library.ERROR: Could not fetch reference document from the library. Message: {message}. Known message:This folder was created more than {n} days ago and cannot accept anymore documents.
Notes:
- Use the emails of participants in the file for permission rules.
- The service validates permissions and metadata before it adds the document. It applies them after it adds the document.
AddReferenceDocumentToRequest
Uploads a reference document to a file. Signers can see reference documents but do not sign them. You can set visibility permissions and custom metadata.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pbyt_File | byte[] | Yes | The document contents. Must not be empty. |
| pstr_FileName | string | Yes | The file name with an extension. The service truncates it to 100 characters (it keeps the extension). The extension must be on the allowed extension list. Do not use the characters <, >, \|, " or control characters. If the name contains them, the service can return a SOAP fault instead of an ERROR: string. |
| pstr_Title | string | Yes | The document title. The service truncates it to 100 characters. |
| returnId | bool | No (default false) |
true returns the reference document ID. false returns SUCCESS. |
| permissions | ReferenceDocumentPermission[] | No (default null) |
Visibility rules. Same format and rules as in AddReferenceDocumentFromLibrary. |
| customMetadataXML | string | No (default null) |
Custom metadata in the prefill format. |
Returns: string. SUCCESS, or the reference document ID (an opaque encrypted string) when returnId is true. On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Title cannot be empty or nullERROR: File could not be accessedERROR: Room ExpiredERROR: Invalid SEQUENCE in permissions, CC's sequence should equal to zeroERROR: Invalid SEQUENCE in permissions, sequence should be >= zero and less than 255 for signersERROR: Invalid EMAIL in permissions: {reason}ERROR: could not parse custom metadataERROR: Filename cannot be empty or nullERROR: filename cannot be exceed 100 characters(lowercase "filename"; only when the name is longer than 100 characters and contains characters that are not valid in a path)ERROR: {extension} is not an allowed extension.(for exampleERROR: .exe is not an allowed extension.)ERROR: You are attempting to upload a null referenced byte arrayERROR: You are attempting to upload a zero-length fileERROR: This folder was created more than {n} days ago and cannot accept anymore documents.
Notes:
- Use the emails of participants in the file for permission rules.
AddInstructionalDocumentToRequest
Uploads an instructional document to a file. Instructional documents give information to participants and are not signed.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pbyt_File | byte[] | Yes | The document contents. Must not be empty. |
| pstr_FileName | string | Yes | The file name with an extension. Same rules as in AddReferenceDocumentToRequest. |
| pstr_Title | string | Yes | The document title. The service truncates it to 100 characters. |
| shouldReturnId | bool | No (default false) |
true returns the document ID. false returns SUCCESS. |
Returns: string. SUCCESS, or the document ID (an opaque encrypted string) when shouldReturnId is true. On failure, a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Title cannot be empty or nullERROR: File could not be accessedERROR: Room ExpiredERROR: Filename cannot be empty or nullERROR: filename cannot be exceed 100 charactersERROR: {extension} is not an allowed extension.ERROR: You are attempting to upload a null referenced byte arrayERROR: You are attempting to upload a zero-length fileERROR: This folder was created more than {n} days ago and cannot accept anymore documents.
Notes:
- This operation has no permissions parameter and no metadata parameter.
AddSignerToRequest
Adds a signer to a file at a signing level. You can also give a mobile phone number for SMS notifications.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_Email | string | Yes | The signer email. Maximum 100 characters. The service changes it to lowercase and trims it. |
| sequence | int? | No (default 1 when nil) |
The signing level, from 1 to 10. Must not be lower than the highest signing level that already exists in the file. |
| contactInfo | Communication | No (default null) |
Contact information. CommunicationType is None or MobilePhone. Value is the phone number. Use international format with a leading +. Extensions are not allowed. SMS must be enabled for the portal. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Invalid Email addressERROR: Room ExpiredERROR: Room ArchivedERROR: Invalid user sequence.ERROR: Invalid Email address: {reason}ERROR: The email you specified is already a participant at that level.ERROR: No. of total signers in the room can not be more than 24.ERROR: Unable to add as a signer.(the sequence is lower than the highest signing level in the file)ERROR: Invalid communication parameter. Could not parse {Value} as type MobilePhone(two spaces after the first period)ERROR: SMS is not enabled for this portal; please contact Sertifi support at {SUPPORT_EMAIL}.ERROR: Unable to add the email address.ERROR: An error occurred adding the communication to the folder.
Notes:
- If no user exists for the email, the service creates one.
- If the file already has documents with the status unsigned, converting or partially signed, the service creates signing requests for the new signer on those documents.
- If the service cannot save the contact information, it removes the signer again.
- This operation does not send an invitation.
AddSecondSignerToRequest
Adds a signer to a file at signing level 2.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_Email | string | Yes | The signer email. Maximum 100 characters. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors: The same errors as AddSignerToRequest, except the two contact information errors.
Notes: This operation is the same as AddSignerToRequest with sequence = 2 and no contact information.
AddCCToRequest
Adds a CC (a participant who does not sign) to a file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_Email | string | Yes | The CC email. Maximum 100 characters. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Invalid Email addressERROR: Room ExpiredERROR: Room ArchivedERROR: Invalid Email address: {reason}ERROR: The email you specified is already a participant at that level.(the email is already a CC)ERROR: Unable to add the email address.
Notes:
- A signer can also be a CC on the same file.
- The signer limit does not apply to CCs.
- This operation does not send a notification. Use InviteSigners or InviteSigner.
InviteSigners
Sends invitations to the signers who can sign now (the current signing level). It can also notify all CCs.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_EmailMessage | string | No | A new email message for the file. If you send a value, it replaces the file email message permanently, and the service adds it as a comment to the file activity stream. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Room Expired
Notes:
- If only payments remain in the file, the service sends a payment invitation to all signers.
- The service can also send SMS invitations to signers with a mobile phone number.
- If the portal setting "send CC notifications" is on, the service notifies every CC on each call, also CCs that it notified before.
- The service returns
SUCCESSalso when no signer is eligible for an invitation.
GetDocumentSummary
Returns the summary (audit trail) PDF for a file or for one document in the file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_DocumentID | string | No (default null) |
A Document ID in the file. If you send it, the service returns the summary for that document. If not, the service returns the summary for the full file. |
Returns: byte[]. The summary PDF contents (base64 in the SOAP message).
Errors: This operation returns no error strings. It returns an empty byte array when the API code is not valid, when the file or document cannot be accessed, or when the PDF cannot be generated.
Notes: If pstr_DocumentID is not a valid ID, the service ignores it and returns the summary for the full file.
InviteSignersWithAttachment
Sends invitations to the first-level signers. Each invitation has the first unsigned document attached as a PDF.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_EmailMessage | string | No | Text for the {EmailCaption} token in the email. The service does not save it to the file. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Room ExpiredERROR: No unsigned documents in the room.
Notes:
- The service attaches only one document: the first document with the status unsigned, converting or partially signed.
- The service sends invitations only to signers at signing level 1. Call it before level 1 signers sign, to avoid repeat invitations.
- The service updates the invitation date for each signer.
- This operation does not notify CCs. It does not send SMS or payment invitations.
InviteSigner
Sends an invitation to one participant of a file. A signer gets a signing invitation. A participant who is only a CC gets a CC notification.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| pstr_EmailMessage | string | No | An email message for this invitation only. The service restores the previous file email message after it sends the invitation. |
| pstr_Signer | string | Yes | The participant email. The service changes it to lowercase and trims it. Maximum 100 characters. |
Returns: string. SUCCESS, or a string that starts with ERROR:.
Errors: (the word "singer" is a typo in the service)
ERROR: Invalid API CodeERROR: Invalid singer emailERROR: Invalid singer email: '{pstr_Signer}': {reason}ERROR: File could not be accessedERROR: Room ExpiredERROR: Signer not found
Notes:
- If the participant is both a signer and a CC, the service sends only the signing invitation.
- For a signer, the service uses the signer's current eligible signing level. If the signer is not eligible now, the service uses the signer's lowest signing level. Invite a signer only when it is that signer's turn to sign.
- If only payments remain in the file, the service sends a payment invitation instead.
- The service can also send an SMS invitation.
GetFilesStatus
Returns a short status for each file in the portal that was created in a date range.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_StartDate | string | Yes | The start of the creation date range. Must be a date after the year 2005. |
| pstr_EndDate | string | Yes | The end of the creation date range. Same format. The range includes both ends. A date without a time means midnight at the start of that day. |
Returns: string with XML:
<?xml version="1.0" encoding="utf-16"?>
<CurrentStatus>
<StartDate>{as sent}</StartDate>
<EndDate>{as sent}</EndDate>
<File>
<Code>{File ID}</Code>
<Name/>
<Status>{numeric file status}</Status>
<StatusFull>Active | Declined | Declined and Archived | Expired | Deleted | Archived</StatusFull>
<Unsigned>{count}</Unsigned>
<Signed>{count}</Signed>
<DateCreated/>
<DateLastAction/>
<EventDate>{yyyy-MM-dd or empty}</EventDate>
</File>
...
</CurrentStatus>
Errors:
ERROR: Invalid API CodeERROR: pstr_StartDate is invalid.ERROR: pstr_EndDate is invalid.
Notes:
- Files with the status "awaiting verification" are not included.
StatusFullshowsArchivedfor every status that is not Active, Declined, Declined and Archived, Expired or Deleted.- There is no limit on the date range or on the number of files.
GetMinimalFileStatus
Returns a short status for one file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
Returns: string with XML: one <File> root element with the same child elements as in GetFilesStatus (Code, Name, Status, StatusFull, Unsigned, Signed, DateCreated, DateLastAction, EventDate). The XML has an XML declaration.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessed
GetFileStatus
Returns the full status of one file: file settings, signers, documents, signatures and participant groups.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
| includeDocumentDatabaseXML | bool | No (default false) |
true adds a FileName element to each document and adds the document database XML to the response. |
Returns: string with XML. Root element <File>. Child elements, in order:
Code(File ID),Name,Status(numeric),EventDate(yyyy-MM-dd),RedirectUrl,UrlRedirectOnActionsAdditionalInputFields1toAdditionalInputFields10,AdditionalNumericField1ConfirmationNumber,ConsolidatedSigning,DefaultLanguage,EmailGroupName,EmailMessage,EnableIdCheck,EnableMouseSignatureExpiresOnandLastActionAt(formatyyyy-MM-dd HH:mm:ssZ).ExpiresOnis in UTC.LastActionAtis in server local time, although it has theZsuffix. Do not readLastActionAtas UTC.MaskEmailsFromClient,Sender(owner email),SendReminders,SignatureType,Signed(count),Unsigned(count)- One
Signerelement for each signer at each signing level. A signer at two levels has twoSignerelements. Each element hasUserID(opaque ID),Email,Signed(0or1),Open(0or1),SignerType(signing level),DateInvited,DateLastVisit. A date that is not set shows as1/1/0001 12:00:00 AM. Other dates use the formatMM/dd/yyyy h:mm:ssAM(no space before AM/PM). - One
Documentelement for each document, withDocumentID,Name,Status(text),DateCreated,DateSigned,FileName(only when includeDocumentDatabaseXML istrue), andSignatures. Signaturesholds a flat sequence of elements for each signing request (there is no wrapper element per request):Email,NameSigned,IpAddress,SignMethod(ElectronicorFax),DateSigned,SignerType(signing level),SignatureAction(only for consolidated signing),IdCheck(RequiredorNot Required),MustSignWithName. For a declined request it addsDateDeclinedandDeclineComments. For a signed request it addsCustomField1toCustomField4(each with aTitleattribute) when the document has those fields.DocumentDatabaseXML(only when includeDocumentDatabaseXML istrue): an XML string, escaped as text.GroupswithParticipantGroupelements (Sequence,MaxSignerCount), only if the file has participant groups.GroupSetswithParticipantGroupSetelements (MinimumSequence,MaximumSequence), only if the file has group sets.
Boolean values show as True or False, except Signer/Signed and Signer/Open, which show 0 or 1. DateCreated, DateSigned and DateDeclined use the server's default date format.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessed
Notes: The response contains signer IP addresses and decline comments.
GetFileSigners
Returns one entry for each signing request in a file, with the signer and the signature details.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_FileID | string | Yes | The File ID that CreateSignatureRequest returned. |
Returns: string with XML:
<?xml version="1.0" encoding="utf-16"?>
<Signers>
<Signer>
<DocumentID/>
<Status>{document status text}</Status>
<Email/>
<NameSigned/>
<IpAddress/>
<SignMethod>Electronic | Fax</SignMethod>
<DateSigned/>
<Sequence>{signing level}</Sequence>
</Signer>
...
</Signers>
A signer can have more than one Signer element (one for each document and signing level).
Errors:
ERROR: Invalid API CodeERROR: File could not be accessed
Notes: If the file has no signing requests, the response is an empty <Signers /> element.
GetDocumentsStatus
Returns the documents in the portal that were created in a date range and have a given status. You can filter by signer email.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_StartDate | string | Yes | The start of the creation date range. Must be a date after the year 2005. Same format rules as GetFilesStatus. |
| pstr_EndDate | string | Yes | The end of the creation date range. The range includes both ends. |
| pstr_Status | string | Yes | The document status, as text or as a number. Text values (not case-sensitive): Unsigned, Signed, Converting to Pdf, Partially signed, Signed and archived, Declined, Expired, Conversion Failed. Numbers: 0 Unsigned, 1 Signed, 2 Converting to PDF, 3 Awaiting verification, 4 Partially signed, 5 Signed and archived, 6 Revoked, 7 Declined, 8 Conversion failed, 9 Expired, 10 all statuses. |
| pstr_Signers | string | No (default null) |
Signer emails separated by commas, semicolons or spaces. If you send it, the service returns only documents with a signing request for one of these emails. |
Returns: string with XML:
<?xml version="1.0" encoding="utf-16"?>
<CurrentStatus>
<StartDate>{as sent}</StartDate>
<EndDate>{as sent}</EndDate>
<Document>
<FileID/>
<DocumentID/>
<Name/>
<FileName/> <!-- the file (signature request) name; only when pstr_Signers is sent -->
<Status>{status text}</Status>
<DateCreated/>
<DateSigned/>
</Document>
...
</CurrentStatus>
The service sorts documents by creation date, newest first.
When you send pstr_Signers, a document can appear more than once: one time for each signing request that matches an email in the list. Remove duplicates by DocumentID.
Errors:
ERROR: Invalid API CodeERROR: pstr_StartDate is invalid.ERROR: pstr_EndDate is invalid.ERROR: Status cant be empty or null.ERROR: pstr_Status is invalid.(text that does not match a status; the textUndefinedalso gives this error)ERROR: pstr_Signers is invalid: '{pstr_Signers}': {reason}
Notes:
- Only the number
10returns all statuses. The service does not check other numbers; a number without a matching status returns no documents. - There is no limit on the date range or on the number of documents.
GetUserInfo
Returns the profile of a user in the portal.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The portal API code. |
| pstr_Email | string | Yes | The user email. Maximum 100 characters. |
Returns: string with XML:
<?xml version="1.0" encoding="utf-16"?>
<User>
<FirstName/>
<LastName/>
<Address1/>
<Address2/>
<City/>
<State/>
<Zip/>
<Phone/>
<Fax/>
</User>
Errors:
ERROR: Invalid API CodeERROR: Invalid user emailERROR: Invalid user email: '{pstr_Email}': {reason}ERROR: User not found(the user is not a user of this portal, or the user is disabled)
RemoveSignatureRequest
Deletes a file (signature request) and all of its documents. If the file has activity that must be kept, the service archives the file instead of deleting it.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID that the file-creation operation returned. The file must belong to your account. |
Returns: string. SUCCESS when the service deletes or archives the file.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Signed documents existERROR: Could not remove file
Notes:
- The service rejects the call when the file has one or more fully signed or partially signed documents.
- The service archives the file (it does not delete it) when the file has declined documents, received payments, or any signed signature request. The call still returns
SUCCESS. - A deleted file appears in
GetStatusOnChangedFilesresults with status10(Deleted).
RemoveDocument
Removes one document from a file. The service also removes the payment and authorization requests that are attached to that document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file and to your account. |
Returns: string. SUCCESS when the service removes the document.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Document could not be accessedERROR: Payment request could not be accessedERROR: Payment is currently being processed and could not be removed.ERROR: Could not remove payment requestERROR: Cannot remove document in "{status}" state.—{status}is the document status text:Unsigned,Signed,Converting to Pdf,Partially signed,Signed and archived,Declined,Expired,Conversion FailedorUndefined.ERROR: Document could not be removed.
Notes:
- You cannot remove a document that is signed, partially signed, declined, or signed and archived. In these cases the error shows the current status text.
- You also cannot remove a document when any signer has signed it. In this case the status text can be
Unsigned. - The service removes attached payment, authorization and eAuthorization requests first. It removes a payment request only when the payment is in the Ready or Error state.
- The service then removes the files that participants uploaded for the document.
- If the call fails, attached payment requests and uploaded files can already be removed.
- If the account sends documents as a packet and this removal completes a signing level, the service invites the signers at the next level.
RemoveReferenceDocument
Removes a reference document or an instructional document from a file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The reference document ID or instructional document ID. The document must belong to the file. |
Returns: string. SUCCESS when the service removes the document.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Document could not be accessedERROR: Could not remove document.
RemoveUser
Removes a signer from one signing level of a file, or removes a CC from a file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_Email | string | Yes | The email address of the participant to remove. Maximum 100 characters. The service compares it in lowercase. |
| pstr_SignerType | string | Yes | signer or cc (not case-sensitive). |
| pint_Sequence | int | Yes | The signing level, 1 to 10. Used only when pstr_SignerType is signer. Send any value (for example 0) for cc. |
Returns: string. SUCCESS when the operation completes.
Errors:
ERROR: Invalid API CodeERROR: Invalid user emailERROR: Invalid user email: '{email}': {reason}—{reason}is one ofEmail address too long or too short.,Invalid email domain.orEmail contains invalid characters or is not complex enough.ERROR: Type does not existsERROR: File could not be accessedERROR: User is not a participant of the roomERROR: Signing sequence is not within a valid range of 1 to 10ERROR: Folder contains documents. Last signer cannot be removed.ERROR: User has already signed documents at this signing level and cannot be removedERROR: User has already Declined documents at this signing level and cannot be removedERROR: Failed to delete the participant. Specified signer does not exist.
Notes:
ERROR: User is not a participant of the roommeans that no user with this email exists in the system. If the user exists but is not in this file, the signer path returnsERROR: Failed to delete the participant. Specified signer does not exist.- The signer path also returns
ERROR: Failed to delete the participant. Specified signer does not exist.when the signer has a payment request that is not in the Ready state. - When the service removes a signer, it unassigns the Ready payment requests that were assigned to that signer.
- If the removal leaves a partially signed document with no pending signers, the service marks the document as signed and creates the final signed PDF.
- If the account sends second-level emails and you remove a level-1 signer, the service can invite level-2 signers.
- The
ccpath always returnsSUCCESS, also when the email is not a CC on the file.
EditUser
Replaces a signer at one signing level with a different email address.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. The file must not be expired. |
| pstr_OriginalEmail | string | Yes | The current signer email. Maximum 100 characters. |
| pstr_NewEmail | string | Yes | The new signer email. Maximum 100 characters. |
| pstr_SignerType | string | Yes | Must be signer (not case-sensitive). |
| pshr_Sequence | short | Yes | The signing level to change, 1 to 10. |
Returns: string. SUCCESS when the service changes the signer.
Errors:
ERROR: Invalid API CodeERROR: Invalid original user emailERROR: Invalid original user email: '{email}': {reason}ERROR: Invalid new user emailERROR: Invalid new user email: '{email}': {reason}Error: Invalid signer sequenceError: Type does not existsERROR: File could not be accessedERROR: Room ExpiredERROR: pstr_OriginalEmail is not part of the file.The original email address does not exist.(noERROR:prefix)The new signer already exists.(noERROR:prefix)The original user has signed documents(noERROR:prefix)
{reason} is one of Email address too long or too short., Invalid email domain. or Email contains invalid characters or is not complex enough.
In some cases the call fails with a SOAP fault, not an error string. This can occur when the original signer has signed documents at that level.
Notes:
- Some errors start with
Error:(mixed case) and some have no prefix. Do not test only for theERROR:prefix. Treat any value other thanSUCCESSas a failure. ERROR: pstr_OriginalEmail is not part of the file.means that no user with that email exists in the system. If the user exists but is not in this file, the result isThe original email address does not exist.The new signer already exists.means the new email is already a signer at the signing level inpshr_Sequence.- If no user exists for the new email, the service creates one.
- The service resets the "date invited" value for the new signer. The service does not send an invitation in this operation.
ChangeSignerEmail
Replaces a participant email address in a file at all signing levels.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. The file must not be expired. |
| pstr_OriginalEmail | string | Yes | The current email. Maximum 100 characters. |
| pstr_NewEmail | string | Yes | The new email. Maximum 100 characters. |
Returns: string. SUCCESS when the service changes the email.
Errors:
ERROR: Invalid API CodeERROR: Invalid original user emailERROR: Invalid orginal user email: '{email}': {reason}ERROR: Invalid new user emailERROR: Invalid new user email: '{email}': {reason}ERROR: File could not be accessedERROR: Room ExpiredERROR: pstr_OriginalEmail is not part of the file.ERROR: The original email address does not exist.ERROR: The new signer already exists.ERROR: The original user has signed documents
{reason} is one of Email address too long or too short., Invalid email domain. or Email contains invalid characters or is not complex enough.
In some cases the call fails with a SOAP fault, not an error string. This can occur when the original participant has signed documents.
Notes:
- This operation does not take a signing level. It changes the participant at every level.
ERROR: The new signer already exists.means the new email is already a signer on the file at any level.- If no user exists for the new email, the service creates one.
- The operation changes the email of any participant on the file, including a CC. Send
pstr_OriginalEmailonly for the participant that you intend to change.
GetSigningLink
Returns a link to the file signing page for one signer or for the file owner.
Active
GetLink with LinkType = SecureFileSigningPageLink instead.| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. The account must be enabled. |
| pstr_FileID | string | Yes | The file ID. The file must belong to your account. |
| pstr_SignerEmail | string | Yes | The email of a participant on the file, or the email of the file owner. |
Returns: string. An HTTPS URL on your account primary domain. If your account uses shortened links, the service returns a shortened URL.
Errors: The result is the error text instead of a URL. Error values are:
ERROR: Invalid API CodeFileID cannot be null or empty.Cannot find the FileID: '{FileID}'File could not be accessed.Signer is not a part of the file.
Notes:
- Only
ERROR: Invalid API Codestarts withERROR:. A successful result starts withhttps://. - The owner email comparison is case-sensitive. A participant email comparison is not case-sensitive.
- The call records the signer as invited at each signing level of the signer in the file.
- Treat the link as sensitive. Anyone with the link can open the signing page.
SendSignedDocumentEmail
Sends the "document signed" email for one document again.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file. |
Returns: string. SUCCESS when the operation completes.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Document could not be accessed- SOAP fault (not an error string) when the service must attach a signed PDF and that PDF is not available.
Notes:
- The account "send signed email" setting controls the recipients (signers, CCs, owner, or a combination). If that setting is off, the service sends no email.
- The service also sends a copy to each address in the account-level CC email list.
- The service sends the email only when the document is signed. For accounts that send documents as a packet, the service also sends it for a declined document.
- The service returns
SUCCESSalso when it sends no email. - The account attachment setting controls if the email has the signed PDF attached or a link. Attachments larger than 10 MB are replaced with a link.
- For files that send documents as a packet or use consolidated signing, the email is for the full file. When attachments are on, the email has the signed PDFs of all documents in the file, not only the document in
pstr_DocumentID.
DownloadSignedDocument
Returns the signed PDF for one document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file. |
Returns: byte[]. The signed PDF file content.
Errors: The service returns an empty byte array (length 0) in all failure cases:
- The API code is not valid.
- The file or document is not found, or does not belong to your account.
- The document status is not Signed.
- The document content is no longer available (removed under retention rules).
- The service cannot read the signed PDF.
Notes:
- A document in the "Signed and archived" status returns an empty array.
DownloadFileContents
Returns a ZIP archive with the signed documents and reference documents of a file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
Returns: byte[]. A ZIP archive. It contains:
- One signed PDF for each document in the Signed or "Signed and archived" status. The entry name is the original document file name with
.pdfadded (for example,contract.docx.pdf). - Each reference document, with its original file name.
Errors: The service returns an empty byte array (length 0) when the API code is not valid, when the file is not found or does not belong to your account, or when the service cannot start the archive.
Notes:
- Instructional documents are not in the archive.
- If the signed PDF of a document is not available (for example, removed under retention rules), the service leaves that document out of the archive. It does not return an error. Compare the archive entries with the document list of the file.
- If the file has no signed documents and no reference documents, the service can return a valid ZIP archive with no entries (not an empty array).
GetMaintenanceLink
Returns a link that opens the file maintenance page for the file owner.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
Returns: string. An HTTPS URL on your account primary domain, in the form https://{primary-domain}/passthrough.aspx?email=…&ac=…&id=…&oid=….
Errors:
ERROR: Invalid API CodeERROR: File could not be accessed
Notes:
- The link identifies the file owner. Treat it as a credential. Do not send it to signers or other third parties.
- Treat the link as confidential. Accounts with secure link expiration turned on do not accept links older than 7 days.
GetDocumentHash
Returns the stored hash value of a fully signed document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file and to your account. |
Returns: string. The document hash value.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Document could not be accessedERROR: Document is not totally signedERROR: Document has no hash
ApplySignature
Applies an electronic signature to a document for one signer, with no signer interaction.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file and to your account. The document must not be expired. |
| pstr_NameSigned | string | Yes | The signature name. Must not be empty. |
| pstr_Email | string | Yes | The signer email. Maximum 100 characters. The email must be a signer on the document. |
| pstr_CustomField1 | string | Conditional | Required when the document defines custom field 1. Ignored when it does not. |
| pstr_CustomField2 | string | Conditional | Required when the document defines custom field 2. Ignored when it does not. |
| pstr_CustomField3 | string | Conditional | Required when the document defines custom field 3. Ignored when it does not. |
| pstr_CustomField4 | string | Conditional | Required when the document defines custom field 4. Ignored when it does not. |
Returns: string. SUCCESS.
Errors:
ERROR: Invalid API CodeERROR: Invalid signature nameERROR: Invalid signer emailERROR: Invalid signer email: '{email}': {reason}—{reason}is one ofEmail address too long or too short.,Invalid email domain.orEmail contains invalid characters or is not complex enough.ERROR: Invalid domin for ApplySignatureERROR: File could not be accessedERROR: Document could not be accessedERROR: Document ExpiredERROR: Could not load form with Prefill dataERROR: Custom field 1 is invalid, please enter '{caption}'ERROR: Custom field 2 is invalid, please enter '{caption}'ERROR: Custom field 1 is invalid, please enter '{caption}'(also returned for custom field 3 and custom field 4;{caption}is the caption of the missing field)ERROR: Specified email is not a signer for this transactionERROR: Specified signer signed this document already.
Notes:
- Email domain rule: if your account has no accepted-domain list for this operation, all email domains are accepted. If the list has values, the domain of
pstr_Emailmust match one list entry exactly. The service changespstr_Emailto lowercase, and the comparison is case-sensitive. Write each list entry in lowercase, with no spaces. - Call ApplySignature only when it is the signer's turn to sign.
- If the signer has unsigned requests at more than one level, the service signs the lowest unsigned level.
- The service records the IP address of the API caller as the signer IP address.
- The service fills these signer fields on the document: full name (from
pstr_NameSigned), initials, and the custom text fields Date, Time (account time zone), Title and Company (from the signer profile). - If the document has no signatures yet and has saved prefill data, the service applies the prefill data to the document before it signs.
- If the call fails, the prefill data can already be applied to the document.
- If the document is declined, the service does not sign it but still returns
SUCCESS. The service still fills the signer fields listed above. - When the last signer signs, the service completes the document.
GetStatusOnChangedFiles
Returns the status of all files that changed or were deleted in a date range.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_StartDate | string | Yes | Start of the range. A date or date-time that the server can parse. The year must be after 2005. |
| pstr_EndDate | string | Yes | End of the range. Same format rules as pstr_StartDate. |
Returns: string. An XML document:
<?xml version="1.0" encoding="utf-16"?>
<CurrentStatus>
<StartDate>{pstr_StartDate as sent}</StartDate>
<EndDate>{pstr_EndDate as sent}</EndDate>
<File>
<Code>{file ID}</Code>
<Name>{file name}</Name>
<Status>{numeric status}</Status>
<StatusFull>{status text}</StatusFull>
<Unsigned>{count}</Unsigned>
<Signed>{count}</Signed>
<DateCreated>{date}</DateCreated>
<DateLastAction>{date}</DateLastAction>
<EventDate>{yyyy-MM-dd or empty}</EventDate>
</File>
<!-- more File elements -->
</CurrentStatus>
StatusFull values: 1 = Active, 6 = Declined, 7 = Declined and Archived, 8 = Expired, 10 = Deleted. All other status values show Archived.
Errors:
ERROR: Invalid API CodeERROR: pstr_StartDate is invalid.ERROR: pstr_EndDate is invalid.
Notes:
- The service includes a file when its last-action date is in the range (start and end included).
- A date with no time means 00:00 (midnight) on that date. If you send only a date as
pstr_EndDate, the results do not include changes made later on that day. Send a date-time for the end of the range (for example,2026-10-05T23:59:59). - The service also includes files deleted in the range. Deleted files have
Status10,StatusFullDeleted,Signed0, and noEventDateelement. For a deleted file,DateLastActionis the deletion date. - Files in the Awaiting Verification status are not included.
Unsignedis the count of open documents and forms.Signedis the count of signed documents.- The service formats
DateCreatedandDateLastActionwith the server default date format. - The service does not limit the range length or the number of results.
AddSigningLocation
Adds a full-name signature field for a signer on a document. This is a shortcut for AddLocation with location type 1.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. |
| pint_Page | int | Yes | Page number, 1 to 400. |
| pint_Top | int | Yes | Top position. Must be 0 or more. |
| pint_Left | int | Yes | Left position. Must be 0 or more. |
| pint_Height | int | Yes | Not used. The service uses the default size for the field type. |
| pint_Width | int | Yes | Not used. The service uses the default size for the field type. |
| pstr_SignerEmail | string | Yes | The signer email. Maximum 100 characters. |
| pstr_Caption | string | Yes | Not used for this field type. |
Returns: string. SUCCESS.
Errors: Same as AddLocation.
AddLocation
Adds a field (signature, initials, text, upload or payment location) for a signer on a document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file and to your account. The document must not be expired. |
| pint_Page | int | Yes | Page number, 1 to 400. |
| pint_Top | int | Yes | Top position. Must be 0 or more. |
| pint_Left | int | Yes | Left position. Must be 0 or more. |
| pint_Height | int | Yes | Not used. The service uses the default size for the field type. |
| pint_Width | int | Yes | Not used. The service uses the default size for the field type. |
| pstr_SignerEmail | string | Yes | The signer email. Maximum 100 characters. The email must be a signer on the file. |
| pstr_Caption | string | Yes | Field caption. Used only for types 4 (first 7 characters kept), 9 (first 100 characters kept) and 23 (first 20 characters kept). Ignored for other types. |
| pint_FieldType | int | Yes | Location type. See the table below. |
| sequence | int? | No (default null) |
The signing level of the signer. If you omit it or send 0 or less, the service finds the level. You must send it when the signer is at more than one level on this document. |
| isRequired | bool | No (default false) |
true makes the field required. |
Location types (pint_FieldType):
| Value | Field |
|---|---|
| 1 | Full name (signature) |
| 2 | Initials |
| 4 | Small text box (caption) |
| 7 | Large signature box |
| 9 | Signer file upload (caption) |
| 10 | Payment authorization |
| 11 | Payment authorization with address |
| 13 | Date (filled at signing) |
| 14 | Time (filled at signing) |
| 23 | Large text box (caption) |
| 33 | Company (filled at signing) |
| 43 | Title (filled at signing) |
Returns: string. SUCCESS.
Errors:
ERROR: Invalid API CodeERROR: Invalid page number. Please ensure the page number is between 1 and 400.ERROR: Invalid top coordinates.ERROR: Invalid left coordinates.ERROR: Invalid signer email '{email}'. Reason: {reason}—{reason}is one ofEmail address too long or too short.,Invalid email domain.orEmail contains invalid characters or is not complex enough.ERROR: File could not be accessedERROR: Document could not be accessedERROR: Document ExpiredERROR: SignerEmail not validERROR: {email} is not a signer at level {sequence}ERROR: Signer sequence ambiguous. Sequence must be included for this signer and document.ERROR: Signing locations can only be added for signers of a document.ERROR: Signing locations can only be added to unsigned signature requestsERROR: Could not remove an existing large signature box before adding a new oneERROR: Invalid LocationType
Notes:
- The service validates the page number against the 1 to 400 range only. It does not check the actual page count of the document.
- Type
7replaces the existing large signature box for the same signer request. Other types add a new field each time. ERROR: SignerEmail not validmeans the email is not a signer on the file (for example, a CC only).- If no user exists for the signer email, the call fails with a SOAP fault, not an error string.
SetSigningBoxLocation
Adds a large signature box for a signer on a document. This is a shortcut for AddLocation with location type 7. It replaces any existing large signature box for the same signer request.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. |
| pint_Page | int | Yes | Page number, 1 to 400. |
| pint_Top | int | Yes | Top position. Must be 0 or more. |
| pint_Left | int | Yes | Left position. Must be 0 or more. |
| pstr_SignerEmail | string | Yes | The signer email. Maximum 100 characters. |
Returns: string. SUCCESS.
Errors: Same as AddLocation.
Notes:
- The signer must be at only one signing level on the document. If the signer is at more than one level, the call returns
ERROR: Signer sequence ambiguous. Sequence must be included for this signer and document.UseAddLocationwithsequenceinstead.
ApplyTemplate
Applies a library template (a saved set of field locations) to a document, for one signer or for all signers.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | Your account API code. |
| pstr_FileID | string | Yes | The file ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must belong to the file and to your account. The document must not be expired. |
| pstr_TemplateID | string | Yes | The library template ID. The template must be in your account library. |
| pstr_SignerEmail | string | No | A signer email. If you send it, the service applies the template only to this signer. If empty, the service applies the template to all signers of the document. |
Returns: string. SUCCESS.
Errors:
ERROR: Invalid API CodeERROR: Invalid signer email: '{email}': {reason}—{reason}is one ofEmail address too long or too short.,Invalid email domain.orEmail contains invalid characters or is not complex enough.ERROR: File could not be accessedERROR: Document could not be accessedERROR: Template could not be accessedERROR: Document ExpiredERROR: Signer not foundERROR: Template could not be found
Notes:
- The service adds a template field to a signer when the field signing level and signer order match the signer position in the file.
- The service adds fields each time you call it. It does not remove fields from an earlier call.
- If the document has no signers, the service adds no fields and returns
SUCCESS. In this case it does not validate the template. - Apply templates before signers sign the document.
VerifyFolderPassword
Checks a password against the password of a file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| lstr_RoomID | string | Yes | The file ID. |
| pstr_Password | string | Yes | The password to check. The comparison is case-sensitive. |
Returns: bool. true when the password matches the file password. Otherwise false.
Errors: The operation does not return error strings. It returns false when the file ID is not valid, the file is not found, or the password does not match.
SetRedirectURL
Sets the URL that the signer goes to after an action on the file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| p_APICode | string | Yes | Your account API code. |
| p_FileID | string | Yes | The file ID. The file must not be expired. |
| p_redirectUrl | string | Yes | The redirect URL. After the service removes leading and trailing spaces, the length must be 10 to 2000 characters. |
| redirectActions | List<RedirectOnAction> | No (default: Sign) |
The signer actions that cause the redirect. Values: Sign, Decline, ReAssign, Pay, PayFailed. The service combines all values that you send. |
Returns: string. SUCCESS.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: Room ExpiredERROR: Invalid URL. Cannot be empty or greater than 2000 characters.ERROR: {message}— the service could not save the URL.
Notes:
- The error text mentions only the maximum length. A URL shorter than 10 characters also returns this error.
- If you omit
redirectActions, the service usesSign. If you send an empty list, no action causes a redirect. - For the
Signaction, the redirect occurs when the signer has no more documents to sign, or when the account does not send signers back to the file page. - Use an absolute
https://URL that you control. - The URL can contain these placeholders. The service replaces them when it redirects the signer:
| Placeholder | Value |
|---|---|
{fileid} |
The file ID. |
{documentid} |
The ID of the document that the signer acted on. |
{email} |
The signer email, URL-encoded. |
{sequence} |
The signing level of the signer. |
{action} |
The action that caused the redirect (for example, Sign). |
- If your account has a callback secret, the service signs the redirect URL with that secret. Verify the signature before you trust the URL values.
FileQuery
Searches the files of your account by metadata and returns a summary for each match.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| p_ApiCode | string | Yes | Your account API code. |
| parameters | SearchParameter[] | Yes | Search criteria. Each item has a Type (FileNumericId1, FileDateSigned, FileExternalId1 or FileExternalId2) and a Value. All criteria must match. See Data types. |
Returns: FileQueryResult[] with one element. On success, Result is a FileSummary[] with one item for each matching file (newest first), and ErrorMessage is empty. Each FileSummary has FileId, DateCreated, DateLastAction, FileStatus, OwnerEmail, Signed, Unsigned and Participants (each with Email and Roles). See Data types.
Errors: On failure, Result is null and ErrorMessage has one of these values:
ERROR: Invalid API CodeERROR: No files foundERROR: Invalid 'FileNumericId1' parameter.— the value is not a whole number.ERROR: Invalid 'FileDateSigned' parameter, account is not packetized.ERROR: Invalid 'DocumentDateSigned' parameter— theFileDateSignedvalue is not in the formatyyyy-MM-ddTHH:mm:ss.ERROR: Specified argument was out of the range of valid values.followed by a line break andParameter name: 'DocumentDateSigned' out of range— theFileDateSignedvalue is in the future or before the year 2000.ERROR: Invalid 'FileExternalId1' parameter.— the value is null or longer than 100 characters.ERROR: Invalid 'FileExternalId2' parameter.— the value is null or longer than 100 characters.ERROR: Value cannot be null.followed by a line break andParameter name: parameters cannot be null—parametersis missing.ERROR: {message}— other unexpected failures. For example, this occurs when you send the sameTypemore than one time.
Notes:
- Send each
Typeone time only. FileDateSignedis available only for accounts that send documents as a packet. It matches files signed within that second. The service reads the value as server local time.- An empty
parametersarray returns all files of the account. - The service does not page or limit the results.
SetDocumentParameters
Updates properties of one document in a file. You can set the three document external IDs. You can also expire or unexpire the document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_ApiCode |
string | Yes | Your API code. |
p_FileID |
string | Yes | The file ID. The file must belong to the account of the API code. |
p_DocumentID |
string | Yes | The document ID. The document must belong to the file in p_FileID. |
p_XMLContent |
string | Yes | An XML string that contains one or more parameter elements. See the table below. |
p_XMLContent format
Send one parameter element for each setting, inside a root element. Attribute names are case-sensitive:
| Attribute | Required | Description |
|---|---|---|
name |
Yes | The parameter name (case-insensitive). A missing name attribute returns ERROR: Invalid parameter attributes. |
value |
Yes | The new value. |
Supported name values:
name |
Accepted value |
Effect |
|---|---|---|
externalid1 |
Any string | Sets document external ID 1. |
externalid2 |
Any string | Sets document external ID 2. Same rules as externalid1. |
externalid3 |
Any string | Sets document external ID 3. Same rules as externalid1. |
changeExpiredStatus |
expire or unexpire (case-insensitive) |
expire expires the document. unexpire restores an expired document. Any other value returns an error. |
Example:
<?xml version='1.0' encoding='UTF-8' ?>
<document>
<parameter name='externalid1' value='EXT-0001' />
<parameter name='externalid2' value='EXT-0002' />
</document>
Returns: string. SUCCESS when the change is saved. Otherwise a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessed.ERROR: Document could not be accessedERROR: Invalid API code for the Document id.ERROR: Document id does not match the File id.ERROR: Invalid parameter attributes.ERROR: invalid value in one of externalid parameters.ERROR: invalid value in changeExpiredStatus parameter.ERROR: Invalid XML.ERROR: cannot update external id and expiration status in the same call.ERROR: Error saving the document.ERROR: Error updating the document.ERROR: Document remained unchanged.
Notes:
- You cannot change external IDs and the expiration status in the same call. Use two calls.
- The service ignores unknown parameter names. If the XML has no supported parameter, the call returns
ERROR: Document remained unchanged. - If a parameter occurs more than one time, the last value is used.
- When you set external IDs, the service saves all three external IDs together. An external ID that you do not send keeps its current value.
expireworks only when the document is not yet complete: awaiting signature, partially signed, awaiting verification, or converting to PDF. In other states the call returnsERROR: Error updating the document.The service also sends a document-expired notification.unexpireworks only when the document is expired and its content is not deleted. The document returns to "partially signed" if any signature exists. Otherwise it returns to "awaiting signature". The service clears the document expiration date.- If the XML is not valid, the service saves no changes.
SetSignatureRequestParameters
Updates settings of a file (signature request). You can set signer options, file metadata, language, email group, expiration, and other file settings. You can also add custom metadata to the file.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_ApiCode |
string | Yes | Your API code. |
p_FileID |
string | Yes | The file ID. The file must belong to the account of the API code. |
p_XMLContent |
string | No | An XML string that contains one or more parameter elements. See the tables below. |
p_CustomMetadataXML |
string | No | An XML string with custom metadata for the file. It uses the pre-fill XML format. See "p_CustomMetadataXML format" below. |
You must send p_XMLContent, p_CustomMetadataXML, or both. If neither causes a change, the call returns ERROR: File remain unchanged.
p_XMLContent format
Send one parameter element for each setting, inside a root element (the examples use file). The service applies the elements in order. Attribute names are case-sensitive.
| Attribute | Required | Description |
|---|---|---|
name |
Yes | The parameter name (case-insensitive). |
value |
Yes | The value. This attribute must be present on every parameter element, also when its value is empty. A missing value attribute returns ERROR: Invalid parameter attributes. |
email |
Depends on parameter | The email address of a signer in the file. If this attribute is present on any parameter, it must be a valid email address of a participant with the signer role. Otherwise the call fails. The service converts it to lowercase. |
preFillName |
No | Used only with MustSignWithName. true pre-fills the required name for the signer. |
prompt |
No | Used only with SecurityQuestion. The question text. |
Supported name values:
name |
Accepted value |
Other attributes | Effect |
|---|---|---|---|
IDCheck |
true or false |
email (optional) |
Without email: turns the identity check on or off for all signers in the file. With email: turns the identity check on or off for that signer. With email, the service also turns on the identity check setting of the file, also when value is false. |
MaskEmailsFromClient |
true or false |
— | true hides participant email addresses from the signer. |
FileExternalId1 … FileExternalId10 |
Any string | — | Sets file metadata field 1 to 10. Values longer than 100 characters are truncated to 100, and the call returns a warning. Numbers outside 1–10 return a warning and the service ignores the parameter. |
FileNumericId1 |
A whole number (64-bit signed integer) | — | Sets the searchable numeric file field. Only FileNumericId1 is supported. A different number or a non-numeric value returns a warning and the service ignores the parameter. |
MustSignWithName |
A name, or empty to clear | email (required), preFillName (optional) |
Sets the name that the signer must use to sign. preFillName='true' pre-fills that name for the signer. Any other preFillName value, or no attribute, turns pre-fill off. |
EnableMouseSignature |
true or false |
— | Turns the mouse-drawn signature option on or off for the file. You cannot turn it on if the account has mouse signatures disabled. |
DefaultLanguage |
en, es, fr-CA, da, de, fi, fr, it, pt-BR, no, sv, pl, or empty |
— | Sets the default language of the file. The match is case-sensitive. An empty value clears the setting. |
SecurityQuestion |
The answer (maximum 50 characters) | email (required; see Notes), prompt (the question, maximum 200 characters) |
Sets a security question and answer for the signer. |
EmailGroupName |
The name of an email group in your account (case-insensitive) | — | Uses the email templates of that group for the file. The group must exist and must have email templates. |
FolderExpiresOn or ExpiresOn |
A date in yyyy-MM-dd format |
— | Sets the file expiration date. The service uses the time zone of the account. The date cannot be more than 365 days in the future. |
FolderExpirationDateTime or ExpirationDateTime |
A date and time in yyyy-MM-dd HH:mm format (24-hour clock) |
— | Sets the file expiration date and time. The service uses the time zone of the account. The date cannot be more than 365 days in the future. |
ConsolidatedSigning |
true or false |
— | Turns consolidated signing on or off for the file. The account must have consolidated signing. |
SendReminders |
true or false |
— | Turns email reminders on or off for the file. |
EventDate |
A date in yyyy-MM-dd format, or empty to clear |
— | Sets the event date of the file. The service uses the time zone of the account. |
ConfirmationNumber |
A string (maximum 100 characters after trim) | — | Sets the confirmation number of the file. The service stores the value in lowercase. |
Boolean values accept true and false (case-insensitive).
Example:
<?xml version='1.0' encoding='UTF-8' ?>
<file>
<parameter name='FileExternalId1' value='ORDER-0001' />
<parameter name='MustSignWithName' email='[email protected]' value='Pat Example' preFillName='true' />
<parameter name='DefaultLanguage' value='fr-CA' />
<parameter name='ExpirationDateTime' value='2026-12-31 17:00' />
</file>
p_CustomMetadataXML format
The service accepts these three forms:
| Form | Example | Field name | Field value |
|---|---|---|---|
field elements |
<record><field Name="FieldA" Text="value" /></record> |
Name attribute |
Text attribute |
Named elements with a Text attribute |
<record><FieldA Text="value" /></record> |
Element name | Text attribute |
| Standard XML format | <recordstandardxmlformat><FieldA>value</FieldA></recordstandardxmlformat> |
Element name | Element content |
The service uses the first form if any element is named exactly field. The service adds the values to the custom metadata of the file.
Returns: string.
SUCCESSwhen the changes are saved.WARNING: <messages>when the changes are saved but one or more parameters were ignored or truncated. Messages are separated by line breaks.- Otherwise a string that starts with
ERROR:.
Errors:
ERROR: Invalid API CodeERROR: File could not be accessedERROR: could not parse custom metadataERROR: Invalid parameter attributes.ERROR: Invalid parameter attributes 'email': <email>. <reason>ERROR: Invalid parameter attributes. Signer '<email>' is not part of the file.ERROR: invalid value in one of IDCheck parameters.ERROR: invalid value in maskemailsfromclient parameter.ERROR: Must specify e-mail address for MustSignWithName parameter. Name passed: <name>.ERROR: enablemousesignature is disabled for this account.ERROR: invalid value in one of enablemousesignature parameters.ERROR: <value> is not a supported languageERROR: Security prompt cannot be longer than 200 characters. Email: <email>. Prompt: <prompt>.ERROR: Password cannot be longer than 200 characters. Email: <email>. Password: <prompt>(the real limit is 50 characters)ERROR: "<name>" email group is either not present or does not have any e-mail templates defined.ERROR: Cannot set expiration date for a folder beyond 365 days from now. Value passed: <value>.ERROR: <value> is not a properly formatted date. Expected format yyyy-mm-dd (four digit year followed by a two digit month, followed by a two digit day)ERROR: You can't set the expiration date for a folder for more than 365 days from now. Set the expiration date for less than 365 days.ERROR: <value> isn't properly formatted. Format the date + time as: yyyy-MM-dd HH:mm.ERROR: invalid value in ConsolidatedSigning parameter.ERROR: Consolidated Signing not available for this account. If you would like this feature, please contact our sales or support team.ERROR: invalid value in SendReminders parameter.ERROR: <value> is not a properly formatted date. Expected format yyyy-mm-dd (four digit year followed by a two digit month, followed by a two digit day, or blank.)ERROR: "ConfirmationNumber" cannot exceed 100 characters.ERROR: Invalid <name> value.(<name>is the lowercase parameter name)ERROR: Invalid XML.ERROR: File remain unchanged.
Warning messages (returned after WARNING:):
<name> is not a valid File External Id. Valid parameters are FileExternalId1 - FileExternalId10.The passed value of "<value>" exceeded the maximum length of 100 for parameter <name> and was truncated.<name> is not a valid File Numberic Id. Valid parameters is FileNumbericId1.<name> is not a valid File Numberic Id. Valid parameters is FileNumericId1.<name> has invalid File Numberic Id value.
Notes:
- The short names
ExternalId1–ExternalId10andNumericId1do not work. They returnERROR: Invalid <name> value.UseFileExternalId<n>andFileNumericId1. - In the warning text and the truncation warning, the service shows the parameter name and value in lowercase. The saved
FileExternalIdvalue keeps its original case. - The service ignores unknown parameter names.
- Put
IDCheckparameters before all other file settings in the XML. IfIDCheckcomes after a file setting (for exampleMaskEmailsFromClient,DefaultLanguage, or an expiration), the service does not save those earlier file settings, but the call still returnsSUCCESS. - Always send the
emailattribute on eachSecurityQuestionparameter. If you do not, the service applies the question and answer to the signer of an earlier parameter in the same XML that hasemail. If no such parameter exists, the call returnsERROR: Invalid securityquestion value. - The service saves
IDCheckchanges immediately, while it reads the XML. If a later parameter fails, theIDCheckchange stays saved. The service does not save the other changes in that case. - If all parameters only cause warnings, no change occurs and the call returns
ERROR: File remain unchanged. EnableMouseSignaturecounts as a change only when the new value is different from the current value.
SendNotificationMessage
Sends a payment-related email notification to participants of a file. The notification can be a payment invitation, a payment due invitation, or a payment cancellation.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_APICode |
string | Yes | Your API code. |
message |
NotificationMessage | Yes | The notification to send: recipients (To, CC), notification type, file ID, payment ID, optional document ID, and optional custom tokens. See Data types. |
Supported NotificationType values:
| Value | Effect |
|---|---|
PaymentInvite |
Sends the payment invitation email for the payment. |
PaymentDueInvite |
Sends the payment due invitation email for the payment. |
PaymentCancellation |
Sends the payment cancellation email. The payment can be a removed payment. |
All three types require FileId and PaymentId. The payment must belong to the file.
Returns: NotificationResult. On success, IsSuccessful is true and ErrorMessage is null. On failure, IsSuccessful is false and ErrorMessage contains one or more error lines. See Data types.
Errors: (values of ErrorMessage; multiple errors are separated by line breaks)
ERROR: Invalid API CodeERROR: To email address requiredERROR: To email <email> : <reason>ERROR: CC email <email> : <reason>ERROR: File could not be accessedERROR: Payment could not be accessedERROR: Document could not be accessedERROR: <email> is not a participant in the folderERROR: Unexpected error occurred, please provide reference id <reference-id> when contacting support
Notes:
- Each
Toaddress must be a participant of the file.CCaddresses must be valid email addresses, but they do not need to be participants. - The service sends one email to each
ToandCCaddress. - The service replaces each custom token (
CustomTokensname/value pair) in the email template with its value. - If you send
DocumentId, the document must belong to the file. - The service validates all recipients before it sends any email. If one validation fails, it sends no email.
GetLink
Creates one or more links to pages or documents of a file. Each item in the request gives one result. Each result contains a link or an error.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_APICode |
string | Yes | Your API code. The account must be enabled. |
parameters |
LinkParameter[] | Yes | One item for each link. Each item has LinkType, and as necessary FileId, DocumentId, PaymentId, SignerEmail, and AdditionalProperties. See Data types. |
Supported LinkType values:
"Secure link" means a link that logs in the named user one time through a token. By default a secure link is single-use and expires 5 minutes after it is created. If the account has secure link expiration turned on, the account setting controls the maximum number of uses.
LinkType |
Required fields | Link produced |
|---|---|---|
DocumentOriginalLink |
FileId, DocumentId; SignerEmail optional |
A link to the original document. If SignerEmail is a participant or the file owner, the link is a secure link for that user. Otherwise it is a direct document view link. The document must not be expired. |
DocumentPartiallySignedLink |
FileId, DocumentId |
A direct link to the partially signed document. SignerEmail is not used. |
DocumentSignedLink |
FileId, DocumentId |
A direct link to the signed document. SignerEmail is not used. |
DocumentEditLocationsLink |
FileId, DocumentId |
A link to the page where you add or edit signing locations. The document must not be expired and must not be a fillable PDF. It must be partially signed, awaiting signature (not a form), or converting to PDF. |
DocumentPrefillLink |
FileId, DocumentId |
A link to the pre-fill page of the document. The document must not be expired. It must be partially signed, awaiting signature, or converting to PDF. |
DocumentPropertiesLink |
FileId, DocumentId |
A direct link to the document properties page. |
FileSigningPageLink |
FileId, SignerEmail |
A link to the signer landing page of the file. The page lists the documents for that user. SignerEmail must be a participant or the file owner. |
FileMaintenanceLink |
FileId |
A direct link to the file maintenance page. |
SigningPageLink |
FileId, DocumentId, SignerEmail |
A link to the signing page of one document for the signer. SignerEmail must be a valid email address of a participant. |
SecureSigningPageLink |
FileId, DocumentId, SignerEmail |
The same page as SigningPageLink, as a secure link for the signer. |
SecureDocumentOriginalLink |
FileId, DocumentId, SignerEmail |
The same as DocumentOriginalLink. In addition, SignerEmail must be a participant, the file owner, or an account user with the Power Admin role or higher. If SignerEmail is a Power Admin (or higher) who is not a participant or the file owner, the link is a direct document view link, not a secure link. |
SecureDocumentPartiallySignedLink |
FileId, DocumentId, SignerEmail |
A secure link for SignerEmail to the partially signed document. SignerEmail must be a participant, the file owner, or an account user with the Power Admin role or higher. |
SecureDocumentSignedLink |
FileId, DocumentId, SignerEmail |
A secure link for SignerEmail to the signed document. Same user rules as SecureDocumentPartiallySignedLink. |
SecureSendingPageLink |
SignerEmail |
A secure link for SignerEmail to the page where a user creates and sends a new request. The user must have the Admin role or higher in the account (not Auditor). |
SecureFileMaintenanceLink |
FileId, SignerEmail |
A secure link for SignerEmail to the file page. The user must have the Admin role or higher (not Auditor), and must be the file owner or have the Power Admin role or higher. |
SecureFileSigningPageLink |
FileId, SignerEmail; AdditionalProperties optional |
The same page as FileSigningPageLink, as a secure link. You can pre-fill identity check fields with AdditionalProperties (see below). |
SecureHomePageLink |
SignerEmail |
A secure link for SignerEmail to the home page of the application. The user must have the Admin role or higher (not Auditor). |
SecureDocumentPrefillLink |
FileId, DocumentId, SignerEmail |
The same page as DocumentPrefillLink, as a secure link. The user must have the Admin role or higher (not Auditor), and must be the file owner or have the Power Admin role or higher. |
PrintablePdfLink |
FileId, DocumentId, SignerEmail |
A secure link for SignerEmail to the printable PDF of the original document. |
PaymentReceiptLink |
FileId, PaymentId, SignerEmail |
A secure link for SignerEmail to the payment receipt page. |
SecurePaymentLink |
FileId, PaymentId, SignerEmail |
A secure link for the signer to the payment page. The payment must belong to the file. SignerEmail must be a valid email address of a participant. |
AdditionalProperties names for SecureFileSigningPageLink (case-insensitive; the service ignores other names): idc_firstname, idc_middlename, idc_lastname, idc_address, idc_aptno, idc_city, idc_state, idc_zip, idc_mdob, idc_ydob, idc_l4ssn, idc_lockedfields. The service adds these values to the link in encrypted form.
Returns: UrlQueryResult[]. One result for each item in parameters, in the same order. Each result echoes FileId, DocumentId, LinkType, and SignerEmail (in lowercase). On success, Link contains the URL and Error is null. On failure, Link is null and Error contains the message. If the API code is not valid, the array has one result with the error. See Data types.
Errors: (values of Error)
ERROR: Invalid API CodeInvalid link parameter typeFileID cannot be null or empty.Cannot find the FileID: '<FileId>'DocumentID cannot be null or empty.Cannot find the DocumentID: '<DocumentId>'PaymentID cannot be null or empty.Cannot find the PaymentID: '<PaymentId>'File could not be accessed.Document could not be accessed.Payment could not be accessed.Document is expired.Signer email is invalid. <reason>Signer is not a part of the file.Insufficient permissions to view this file.<email> is not an allowed sender for this account.<email> is not allowed to make changes to this folder.Edit locations link is not available for this document.Document Prefill link is not available for this document.- Other system messages can occur, for example when
SignerEmailis not an existing user.
Notes:
- For
FileSigningPageLinkandSigningPageLink, the service records the signer as invited. It updates the invitation date for each signing step of that user. - Direct links (types without the
Secureprefix, exceptPrintablePdfLinkandPaymentReceiptLink) open the file without a sign-in step. Treat them as confidential. Accounts with secure link expiration turned on do not accept direct links older than 7 days. Some accounts return a shortened URL for direct links. - For
SecureSendingPageLink,SecureFileMaintenanceLink,SecureHomePageLink,SecureDocumentPrefillLink, andPrintablePdfLink: if no user exists forSignerEmail, the service creates one. - One failed item does not stop the other items.
CreatePayment
Adds a payment request to a file. The payment can be a one-time or monthly payment, and the operation can be pay or authorize.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_APICode |
string | Yes | Your API code. The account must have payments enabled. |
p_FileID |
string | Yes | The file ID. The file must belong to the account of the API code. |
amount |
decimal | Yes | The payment amount. Maximum two decimal places. Must be less than 1,000,000. For Pay, it must be greater than 0. For Authorize, it must be 0. |
description |
string | Yes | The payment description (title). The service truncates it to 50 characters. It cannot be blank. |
recurrence |
PaymentReccurence | No | OneTime (default) or Monthly. Monthly requires a payment gateway that supports recurring payments. |
datePaymentDue |
string | No | The due date in yyyy/MM/dd format. The date must be from 2000/01/01 to 3000/12/31. |
operation |
PaymentOperationType | No | Pay (default) or Authorize. The payment gateway must support the operation. |
xmlContent |
string | No | An XML string with billing details and payment options. See the table below. |
usePaymentRules |
boolean | No | false makes the payment ignore the payment gateway rules. If you omit it or send true, the rules apply. |
xmlContent format
Send one lowercase parameter element for each field, inside a root element (the example uses payment). Each element has a name attribute (value case-insensitive) and a value attribute. If a name occurs more than one time, the first one is used. Empty values are ignored.
name |
Accepted value |
Effect |
|---|---|---|
billingname |
String, maximum 100 characters | Sets the billing name. |
billingaddress1 |
String, maximum 100 characters | Sets billing address line 1. |
billingaddress2 |
String, maximum 100 characters | Sets billing address line 2. |
billingcity |
String, maximum 100 characters | Sets the billing city. |
billingstate |
String, maximum 20 characters | Sets the billing state. A two-character value is converted to uppercase. If billingcountry is the United States, the value must be a two-letter US state code. |
billingzipcode |
String | Sets the billing postal code. No length or format check. |
billingcountry |
ISO 3166-1 alpha-2 or alpha-3 country code (case-insensitive) | Sets the billing country. The service stores the country name. |
billingemail |
String, maximum 100 characters | Sets the billing email. The service does not check the email format. |
payeremail |
Email address of a participant of the file | Makes that participant the designated payer. |
allowedpaymethods |
Comma-separated list of CC, ACH, SEPA, BANKTRANSFER, ALL (case-insensitive; spaces ignored) |
Limits the payment methods that the payer can use. The default is all methods. |
cloneamount |
Decimal number, maximum two decimal places | Sets the amount for a later charge of the same payment details. A value of 0 or less is ignored. |
clonedescription |
String, maximum 100 characters | Sets the description for a later charge of the same payment details. |
hassurcharge |
true or false |
true turns on surcharging for the payment. A payment gateway in the account must support surcharging. |
Example:
<payment>
<parameter name="billingname" value="Pat Example" />
<parameter name="billingaddress1" value="100 Example Street" />
<parameter name="billingcity" value="Example City" />
<parameter name="billingstate" value="IL" />
<parameter name="billingzipcode" value="00000" />
<parameter name="billingcountry" value="US" />
<parameter name="payeremail" value="[email protected]" />
<parameter name="allowedpaymethods" value="CC, ACH" />
</payment>
Returns: string. On success, the payment ID (an opaque string that does not start with ERROR:). Use it with RemovePayment, GetPaymentsStatus, GetLink, and SendNotificationMessage. Otherwise a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Payments are not enabled for this account.ERROR: File could not be accessedERROR: invalid date payment due.ERROR: datePaymentDue not in recognized date format yyyy/MM/ddERROR: Payment Gateway not configured.ERROR: Payment Gateway does not support selected payment recurrence.ERROR: Operation <operation> is not enabled or supported for payment gateway.(forAuthorize,<operation>isVerify)ERROR: Could not parse XML content. <details>ERROR: '<method>' is an invalid value for allowedpaymethods.ERROR: 'billingnames' parameter cannot exceed 100 characters.ERROR: 'billingaddress1' parameter cannot exceed 100 characters.ERROR: 'billingaddress2' parameter cannot exceed 100 characters.ERROR: 'billingcity' parameter cannot exceed 100 characters.ERROR: 'billingstate' parameter cannot exceed 20 characters.ERROR: Invalid 'billingcountry' parameter. Only two or three letter ISO 3661-1 codes are accepted.ERROR: Invalid 'billingstate' parameter. Only two letter US state codes are accepted.ERROR: 'BillingEmail' parameter cannot exceed 100 characters.ERROR: 'payeremail' parameter contains invalid email.ERROR: payeremail '<email>' is not a participant of given fileId.ERROR: setting 'allowedpaymethods' is not a supported feature for the AuthorizeNet payment gatewayERROR: There are no available payment methods for the payee. Enable one or more payment methods to continue.ERROR: payeremail parameter is required along with other billing details.ERROR: 'CloneDescription' parameter cannot exceed 100 characters.ERROR: CloneAmount not set to valid number.ERROR: Surcharging isn't supported by a payment gateway in the portalERROR: HasSurcharge isn't set to a valid valueERROR: Amount needs to be greater than 0ERROR: Amount needs to be 0ERROR: Amount needs to be less than 1,000,000ERROR: Number of decimal places in the amount cannot be greater than 2ERROR: Number of decimal places in the CloneAmount cannot be greater than 2ERROR: Description cannot be blankERROR: Either 'Use Automatic Rules' must be selected or payment methods must be selectedERROR: Could not save paymentERROR: <message>(a save error from the payment service)
Notes:
- If you send any billing detail (
billingname,billingaddress1,billingaddress2,billingcity,billingstate,billingzipcode,billingcountry), you must also sendpayeremail.billingemaildoes not have this rule. - For
allowedpaymethods, the service removes each method that no active payment gateway supports for this operation and recurrence. It does not report an error for a removed method. It reports an error only if no method remains.ALLskips this check. - When more than one validation error occurs on the payment amount or description, the call returns only the first one.
- The new payment is added to the actions of the file.
RemovePayment
Removes a payment request from a file. You can remove a payment only when it is awaiting payment or in error.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_APICode |
string | Yes | Your API code. The account must have payments enabled. |
p_FileID |
string | Yes | The file ID. The file must belong to the account of the API code. |
paymentId |
string | Yes | The payment ID from CreatePayment or GetPaymentsStatus. The payment must belong to the file. |
Returns: string. SUCCESS when the payment is removed. Otherwise a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Payments are not enabled for this account.ERROR: File could not be accessedERROR: Payment request could not be accessedERROR: Payment is currently being processed and could not be removed.ERROR: Could not remove payment request
Notes:
- The payment status must be "Awaiting payment" or "Error". The payment processor must also report the payment as awaiting payment or in error. Any other status returns
ERROR: Payment is currently being processed and could not be removed. - The service also closes any open hosted payment session for the payment and removes the payment from the actions of the file.
ERROR: Could not remove payment requestcan occur after the payment is removed. CallGetPaymentsStatusto confirm the result.
GetPaymentsStatus
Returns the details and status of the payments in a file. You can get all payments of the file or one payment.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
p_APICode |
string | Yes | Your API code. The account must have payments enabled. |
p_FileID |
string | Yes | The file ID. The file must belong to the account of the API code. |
paymentId |
string | No | A payment ID. If empty, the service returns all payments of the file. If set, the payment must belong to the file. |
Returns: string. On success, an XML document with this shape:
<Payments Count="1">
<Payment>
<Amount>...</Amount>
...
</Payment>
</Payments>
Count is the number of Payment elements. Each Payment element contains these child elements, in this order. An element is empty when it has no value.
| Element | Content |
|---|---|
Amount |
Payment amount. |
CloneAmount |
Amount for a later charge of the same payment details. |
Currency |
ISO currency code. The account currency is used if the payment has none. |
AVSStatus |
Address verification result from the gateway. |
BillingName |
Billing name. |
BillingAddress1 |
Billing address line 1. |
BillingAddress2 |
Billing address line 2. |
BillingCity |
Billing city. |
BillingState |
Billing state. |
BillingZip |
Billing postal code. |
BillingCountry |
Billing country name. |
CVVStatus |
Card security code check result from the gateway. |
DateCreated |
Date and time the payment was created (XML date-time). |
DateProcessed |
Date and time the payment was processed (XML date-time). |
ProcessedAt |
Processing date and time in ISO 8601 format with offset. |
DateDue |
Due date. |
Email |
Billing email. |
CreatedByEmail |
Email of the user who created the payment. |
ErrorMessage |
Error text. UNKNOWN ERROR when the status is Error and no text exists. |
IpAddress |
IP address of the payer. |
PaymentId |
Payment ID. |
DocumentId |
ID of the related document, or empty. |
Status |
One of: Awaiting payment, Processing, Redirected, Authorized, Paid, Refunded, Returned, Voided, Error. |
CardLastFour |
Last four digits of the card. |
CardType |
Card brand. |
CardExpirationMonth |
Card expiration month (two digits). |
CardExpirationYear |
Card expiration year (four digits). |
PaymentMethod |
Payment method used. |
BankName |
Bank name (bank payments). |
RoutingNumber |
Bank routing number (bank payments). |
BankAccountType |
Bank account type (bank payments). |
GatewayTokenId |
Payment token reference from the gateway. |
GatewayTransactionId |
Transaction ID from the gateway. |
GatewayName |
Name of the payment gateway configuration. |
Identifier |
Numeric payment identifier. |
Operation |
Pay, Verify, or Refund. |
RefundedPaymentId |
For a refund, the ID of the original payment. |
PayerEmail |
Email of the payer. |
Title |
Payment description. |
CloneDescription |
Description for a later charge of the same payment details. |
UsePaymentRules |
True or False. |
AllowedPayMethods |
Allowed payment methods, for example All or CreditCard, Ach. |
HasSurcharge |
True or False. |
SurchargeAmount |
Surcharge amount. Set only when the status is Paid and a surcharge was applied. |
SurchargePercent |
Surcharge percentage. Set only when the status is Paid and a surcharge was applied. |
GrossAmount |
Total amount charged. Set only when the status is Paid. Equal to Amount when surcharging is off for the payment. |
Otherwise a string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Payments are not enabled for this account.ERROR: File could not be accessedERROR: Payment request could not be accessed
Notes:
- The response contains payer and bank details. Protect it as confidential payment data.
Retired operations
These operations remain in the WSDL for older clients. Do not call them. Each one always returns the value shown.
| Operation | Always returns |
|---|---|
| EnableIDCheck | ERROR: This API call is no longer supported. Use SetSignatureRequestParameters instead. |
| AddFormToRequest | ERROR: This API call is no longer supported. |
| AddPrepopulatedFormToRequest | ERROR: This API call is no longer supported. |
| AutofillUserName | ERROR: This API call is no longer supported. |
| CreateFaxShell | an empty byte array (empty base64Binary) |
| RemoveFormFromRequest | This API call is no longer supported. |
Use SetSignatureRequestParameters with the IDCheck parameter in place of EnableIDCheck. Use AddPrepopulatedPdfToRequest in place of the form operations.
EnableIDCheck
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: ERROR: This API call is no longer supported. Use SetSignatureRequestParameters instead.
Use SetSignatureRequestParameters with the IDCheck parameter instead.
AddFormToRequest
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: ERROR: This API call is no longer supported.
Use AddPrepopulatedPdfToRequest in place of the form operations.
AddPrepopulatedFormToRequest
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: ERROR: This API call is no longer supported.
Use AddPrepopulatedPdfToRequest in place of the form operations.
AutofillUserName
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: ERROR: This API call is no longer supported.
CreateFaxShell
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: an empty byte array (empty base64Binary)
RemoveFormFromRequest
Retired Remains in the WSDL for older clients. Do not call it.
Always returns: This API call is no longer supported.
Use AddPrepopulatedPdfToRequest in place of the form operations.
Data types (Gateway)
All types are in the XML namespace http://apps.sertifi.net/services/ unless the WSDL shows a different namespace.
Enum values go on the wire as the names in the "Value" column.
Communication
Used by: AddSignerToRequest (parameter contactInfo, optional).
Contact information for a signer.
| Field | Type | Description |
|---|---|---|
CommunicationType |
CommunicationMethod |
The type of contact information. |
Value |
string | The contact value. For MobilePhone, the phone number. |
Rules:
- For
MobilePhone, give the number in international format with a leading+and the country code, for example+15555550100. The service rejects numbers that it cannot parse and numbers with an extension. - For
MobilePhone, SMS messaging must be enabled for the portal. If it is not, the method returns an error. - If the value is not valid, the method returns
ERROR: Invalid communication parameter. ....
CommunicationMethod (enum)
| Value | Meaning |
|---|---|
None |
No contact method. The service ignores Value. |
MobilePhone |
A mobile phone number for SMS. |
ReferenceDocumentPermission
Used by: AddReferenceDocumentFromLibrary and AddReferenceDocumentToRequest (parameter permissions, optional array).
A rule that shows or hides a reference document for a participant.
| Field | Type | Description |
|---|---|---|
Email |
string | Optional. The email address of a participant in the file. If you give it, the rule applies to that participant only. It must be a valid email address. |
Sequence |
short | The signing level. For CC, this must be 0. For Signer, use 0 to 255. In a rule with Email, 0 means all signing levels. In a rule without Email, the rule applies only to the signing level in Sequence. |
Role |
ReferenceDocumentPermission.RoleType |
The participant role for the rule. |
Action |
ReferenceDocumentPermission.ActionType |
Show or hide the document. If you do not send it, the value is Hide. |
By default, all participants see a reference document. A rule with Action = Hide removes the document from the view of the matching participants. A rule with Action = Show makes the document visible again for the matching participants. A rule with an email address takes priority over a rule without an email address.
Examples:
| Goal | Sequence | Role | Action | |
|---|---|---|---|---|
| Hide the document from one CC | {CC_EMAIL} |
0 | CC |
Hide |
| Hide the document from one signer at all levels | {SIGNER_EMAIL} |
0 | Signer |
Hide |
| Hide the document from one signer at level 1 | {SIGNER_EMAIL} |
1 | Signer |
Hide |
ReferenceDocumentPermission.RoleType (enum)
| Value | Meaning |
|---|---|
Signer |
The rule applies to signers. |
CC |
The rule applies to CC recipients. |
ReferenceDocumentPermission.ActionType (enum)
| Value | Meaning |
|---|---|
Hide |
The participant does not see the reference document. |
Show |
The participant sees the reference document. |
RedirectOnAction (enum)
Used by: SetRedirectURL (parameter redirectActions, optional array).
The signer actions that send the signer to the redirect URL. You can send more than one value. The service combines all values.
| Value | Meaning |
|---|---|
Sign |
Redirect after the signer signs. The service redirects when the signer has no more documents to sign. |
Decline |
Redirect after the signer declines. |
ReAssign |
Redirect after the signer reassigns. |
Pay |
Redirect after a payment succeeds. |
PayFailed |
Redirect after a payment fails. |
If you do not send redirectActions, the service uses Sign. If you send an empty array, the service does not redirect for any action. The redirect URL must be 10 to 2000 characters long after the service removes leading and trailing spaces.
SearchParameter
Used by: FileQuery (parameter parameters, array).
One search condition.
| Field | Type | Description |
|---|---|---|
Type |
SearchParameterType |
The field to search. |
Value |
string | The value to match. The format depends on Type. |
FileQuery rules:
- The service returns only files that belong to the account of the API code.
- The service joins all conditions with AND.
- Each condition is an exact match.
- Do not send the same
Typemore than once in one call. - If you send an empty array, the service returns all files of the account. The service does not page the results. Avoid this on large accounts.
- If
parametersis null, the method returns an error. - The service sorts results by creation date, newest first.
SearchParameterType (enum)
| Value | Value format | Description |
|---|---|---|
FileNumericId1 |
A 64-bit integer, for example 123456. |
Matches the numeric metadata field of the file. You set this field with SetSignatureRequestParameters. If the value is not an integer, the method returns ERROR: Invalid 'FileNumericId1' parameter. |
FileDateSigned |
yyyy-MM-ddTHH:mm:ss, for example 2024-06-15T21:15:07. |
Matches files signed within that one second. The portal must use packet signing. If it does not, the method returns an error. The date must not be in the future. The year must be 2000 or later. The service uses the time zone of the server for this value. |
FileExternalId1 |
A string of maximum 100 characters. An empty string is accepted. | Matches the first external ID of the file. You set this field with SetSignatureRequestParameters. |
FileExternalId2 |
A string of maximum 100 characters. An empty string is accepted. | Matches the second external ID of the file. You set this field with SetSignatureRequestParameters. |
Note: some FileDateSigned error messages use the name DocumentDateSigned.
FileQueryResult
Returned by: FileQuery (array).
The method always returns an array with one item.
| Field | Type | Description |
|---|---|---|
Result |
array of FileSummary |
The matching files. It is null when an error occurs or when no files match. |
ErrorMessage |
string | Null when the call succeeds. Otherwise, a message that starts with ERROR:. When no files match, the message is ERROR: No files found. |
FileSummary
Part of: FileQueryResult.
| Field | Type | Description |
|---|---|---|
FileId |
string | The File ID. Use it in other calls. |
FileStatus |
RoomStatus |
The status of the file. |
OwnerEmail |
string | The email address of the file owner (sender). |
Unsigned |
int | The number of documents and forms in the file. |
Signed |
int | The number of signed documents in the file. |
DateCreated |
dateTime | The date and time when the file was created. |
DateLastAction |
dateTime | The date and time of the last action on the file. |
Participants |
array of FileParticipant |
The participants of the file. |
FileParticipant
Part of: FileSummary.
| Field | Type | Description |
|---|---|---|
Email |
string | The email address of the participant. |
Roles |
array of FileRole |
The roles of the participant in the file. A participant can have more than one role. |
FileRole
Part of: FileParticipant.
| Field | Type | Description |
|---|---|---|
Type |
string | CC or Signer. |
Sequence |
int | For Signer, the signing level. A signer at more than one level has one FileRole for each level. For CC, the value is 0. |
RoomStatus (enum)
Used in: FileSummary.FileStatus.
| Value | Meaning |
|---|---|
Archived |
The file is archived. |
Active |
The file is active. |
ActiveCC |
Not used. |
ArchivedCC |
Not used. |
AwaitingVerification |
The file waits for verification. |
Creating |
The file is in creation. |
Declined |
A signer declined the file. |
DeclinedAndArchived |
A signer declined the file, and the file is archived. |
Expired |
The file is expired. |
Deleted |
The file is deleted. |
NotificationMessage
Used by: SendNotificationMessage (parameter message).
A request to send a payment notification email.
| Field | Type | Description |
|---|---|---|
To |
array of EmailAddress |
Required. One or more recipients. Each recipient must be a participant in the file. |
CC |
array of EmailAddress |
Optional. More recipients. The service sends each CC recipient the same email as the To recipients. |
NotificationType |
NotificationType |
The type of notification. |
FileId |
string | Required. The File ID. The file must belong to your account. |
PaymentId |
string | Required for all current notification types. The Payment ID. The payment must belong to the file. |
DocumentId |
string | Optional. A Document ID. If you give it, the document must belong to the file. |
CustomTokens |
array of NameValuePair |
Optional. Values for replacement tokens in the email template. |
EmailAddress
Part of: NotificationMessage.
| Field | Type | Description |
|---|---|---|
Email |
string | A valid email address. |
Name |
string | The display name of the recipient. Only PaymentCancellation uses this value. |
NameValuePair
Part of: NotificationMessage.CustomTokens and LinkParameter.AdditionalProperties.
| Field | Type | Description |
|---|---|---|
Name |
string | The name of the item. |
Value |
string | The value of the item. |
NotificationType (enum)
| Value | Meaning |
|---|---|
PaymentCancellation |
Tells the recipients that a payment is cancelled. You can use a deleted payment for this type. |
PaymentInvite |
Invites the recipients to make a payment. |
PaymentDueInvite |
Invites the recipients to make a payment that is due. |
NotificationResult
Returned by: SendNotificationMessage.
The response can carry the type name NotificationProcessingResult (xsi:type). That type adds no fields on the wire.
| Field | Type | Description |
|---|---|---|
IsSuccessful |
boolean | true if the service sent the notification. |
ErrorMessage |
string | Null on success. On failure, one or more lines. Each line starts with ERROR:. |
If an unexpected error occurs, the message includes a reference ID. Give this ID to support.
LinkParameter
Used by: GetLink (parameter parameters, array).
A request for one link. You can request many links in one call. The service returns one UrlQueryResult for each LinkParameter, in the same order.
| Field | Type | Description |
|---|---|---|
FileId |
string | The File ID. Most link types need it. |
DocumentId |
string | The Document ID. Document link types need it. |
PaymentId |
string | The Payment ID. Payment link types need it. |
LinkType |
LinkParameterType |
The type of link. |
SignerEmail |
string | The email address of the person who uses the link. Some link types need it. |
AdditionalProperties |
array of NameValuePair |
Optional. Only SecureFileSigningPageLink uses it. See below. |
AdditionalProperties for SecureFileSigningPageLink: the service accepts these names to prefill identity verification data for the signer. The service ignores other names. Names are not case-sensitive.
idc_firstname, idc_middlename, idc_lastname, idc_address, idc_aptno, idc_city, idc_state, idc_zip, idc_mdob, idc_ydob, idc_l4ssn, idc_lockedfields
LinkParameterType (enum)
"Secure" link types return a link that signs the user in one time through a token. By default the link is single-use and expires 5 minutes after it is created. If the account has secure link expiration turned on, the account setting controls the maximum number of uses.
| Value | Required fields | Description |
|---|---|---|
DocumentOriginalLink |
FileId, DocumentId |
A link to the original document. The document must not be expired. If SignerEmail is a participant or the owner, the service returns a secure link for that person. Otherwise it returns a direct view link. |
DocumentPartiallySignedLink |
FileId, DocumentId |
A direct link to the partially signed document. |
DocumentSignedLink |
FileId, DocumentId |
A direct link to the signed document. |
DocumentEditLocationsLink |
FileId, DocumentId |
A link to a page where you add or edit signing locations. The document must not be expired. It must not be a fillable PDF. It must be partially signed, awaiting signature, or in conversion. |
DocumentPrefillLink |
FileId, DocumentId |
A link to a page where you prefill the document. The document must not be expired. It must be partially signed, awaiting signature, or in conversion. |
DocumentPropertiesLink |
FileId, DocumentId |
A link to the document properties page. |
FileSigningPageLink |
FileId, SignerEmail |
A link to the page that lists the documents to sign. SignerEmail must be a participant or the owner. The service records the signer as invited. |
FileMaintenanceLink |
FileId |
A link to the file maintenance page. |
SigningPageLink |
FileId, DocumentId, SignerEmail |
A link to the signing page for one document. SignerEmail must be a participant. The service records the signer as invited. |
SecureSigningPageLink |
FileId, DocumentId, SignerEmail |
A secure version of SigningPageLink. |
SecureDocumentOriginalLink |
FileId, DocumentId, SignerEmail |
A secure link to the original document. The document must not be expired. SignerEmail must be a participant, the owner, or a portal user with permission to view all files. If SignerEmail is a portal user with that permission who is not a participant or the owner, the service returns a direct view link. |
SecureDocumentPartiallySignedLink |
FileId, DocumentId, SignerEmail |
A secure link to the partially signed document. SignerEmail has the same rules as SecureDocumentOriginalLink. |
SecureDocumentSignedLink |
FileId, DocumentId, SignerEmail |
A secure link to the signed document. SignerEmail has the same rules as SecureDocumentOriginalLink. |
SecureSendingPageLink |
SignerEmail |
A secure link to the page that creates a new signature request. SignerEmail must be a portal user who can send. |
SecureFileMaintenanceLink |
FileId, SignerEmail |
A secure link to the file maintenance page. SignerEmail must be a portal user who can send. It must also be the file owner or a user with permission to change all files. |
SecureFileSigningPageLink |
FileId, SignerEmail |
A secure version of FileSigningPageLink. It accepts AdditionalProperties. |
SecureHomePageLink |
SignerEmail |
A secure link to the portal home page. SignerEmail must be a portal user who can send. |
SecureDocumentPrefillLink |
FileId, DocumentId, SignerEmail |
A secure version of DocumentPrefillLink. SignerEmail has the same rules as SecureFileMaintenanceLink. |
PrintablePdfLink |
FileId, DocumentId, SignerEmail |
A secure link to the printable PDF of the original document. |
PaymentReceiptLink |
FileId, PaymentId, SignerEmail |
A secure link to the payment receipt page. |
SecurePaymentLink |
FileId, PaymentId, SignerEmail |
A secure link to the payment page. The payment must belong to the file. SignerEmail must be a participant. |
UrlQueryResult
Returned by: GetLink (array).
| Field | Type | Description |
|---|---|---|
Link |
string | The link. It is null if an error occurs. |
Error |
string | Null on success. Otherwise, a description of the error. For per-link errors, the text has no ERROR prefix. If the API code is not valid, the method returns one item with Error = ERROR: Invalid API Code. |
FileId |
string | The FileId from the request. |
DocumentId |
string | The DocumentId from the request. |
LinkType |
LinkParameterType |
The LinkType from the request. |
SignerEmail |
string | The SignerEmail from the request, in lowercase. Empty if you did not send it. |
Check Error on each item. One item can fail while other items succeed. The response does not echo PaymentId. Use the array position to match a result to its request.
PaymentReccurence (enum)
Used by: CreatePayment (parameter recurrence, optional). The name has this spelling in the WSDL.
| Value | Meaning |
|---|---|
OneTime |
Default. A single payment. |
Monthly |
A payment that repeats each month. The payment gateway of the portal must support recurring payments. |
PaymentOperationType (enum)
Used by: CreatePayment (parameter operation, optional).
| Value | Meaning |
|---|---|
Pay |
Default. Collect the payment. |
Authorize |
Authorize the amount without collecting it. The payment gateway of the portal must support this operation. |
GatewayV2
Endpoint: {BASE_URL}/Services/GatewayV2.asmx
SOAP namespace: http://apps.sertifi.net/services/
GatewayV2 extends the Gateway service. The GatewayV2 endpoint also exposes all Gateway operations. This section documents only the operations that GatewayV2 adds or changes. For all other operations, refer to the Gateway section.
All ID values (folder ID, document ID) are opaque tokens. Use the values that other operations return. Do not build or change them.
GatewayV2.DownloadFileContents
Returns a ZIP archive of the completed documents and reference documents in a folder. This operation replaces the Gateway operation of the same name.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The API code of the portal. |
| pstr_FileID | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
Returns: base64Binary (byte array). On success, the bytes of a ZIP archive. On a validation failure, an empty byte array (length 0). A folder with no files returns a valid ZIP archive with no entries, not an empty byte array.
Errors: This operation returns no error strings. It returns an empty byte array when:
- The API code is not valid.
- The folder ID is not valid, the folder does not exist, or the folder belongs to a different portal.
- The service cannot create the archive.
Notes:
- The archive contains the signed PDF of each document with status Signed or Archived. Documents with other statuses are not included.
- The archive also contains all reference documents of the folder, with their original file names.
- The service adds a file only if the stored file exists.
- Difference from Gateway: GatewayV2 names signed PDF entries
Contract.pdf, notContract.pdf.pdf. - To select which content to download, use
DownloadSelectedContent. It accepts folders in any status except deleted.
GatewayV2.CreateSignatureRequest
Creates a new folder in the portal and adds the sender and participants. In GatewayV2, the list of first signers is optional. You can add signers later.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The API code of the portal. |
| pstr_SenderEmail | string | Yes | The email address of the sender. The sender becomes the folder owner. |
| pstr_SenderName | string | No | The display name of the sender. The service splits the name at the first space into a first name and a last name. Each part has a maximum of 32 characters. |
| pstr_FileName | string | Yes | The folder name. The service truncates names longer than 150 characters. |
| pstr_Signers | string | No | Email addresses of the first-level signers. Separate addresses with commas or semicolons. In GatewayV2, this value can be empty. |
| pstr_SecondSigners | string | No | Email addresses of the second-level signers, separated by commas. |
| pstr_CCs | string | No | Email addresses of the CC participants, separated by commas. Do not repeat an address. A repeated address causes a SOAP fault. |
| pstr_Cosign | string | No | Set to true (lowercase) to add the sender as a first-level signer. All other values mean false. |
| pstr_SignType | string | No | The default signature method. elec = electronic only. fax = print and sign only. Any other value or empty = both methods. If the portal has fax disabled, the service always uses electronic. |
| pstr_Password | string | No | The folder password. Maximum 50 characters. Empty = no password prompt. |
| pstr_Field1 | string | No | The value of folder custom field 1. |
| pstr_Field2 | string | No | The value of folder custom field 2. |
| pstr_Field3 | string | No | The value of folder custom field 3. |
| pstr_Field4 | string | No | The value of folder custom field 4. |
| pstr_EmailMessage | string | No | A custom message for the invitation email. The service also adds this text as the first comment of the folder. |
Returns: string. On success, the new folder ID (an opaque token). On failure, an error string that starts with ERROR:.
Errors:
ERROR: Invalid API CodeERROR: Filename cannot be empty or nullERROR: Password cannot be exceed 50 charactersERROR: Invalid sender emailERROR: Invalid sender email: '{senderEmail}': {reason}ERROR: pstr_Signers is invalid: '{signers}': {reason}ERROR: pstr_CCs is invalid: '{ccs}': {reason}ERROR: pstr_SecondSigners is invalid: '{secondSigners}': {reason}ERROR: No. of total signers in the room can not be more than 24.ERROR: Sender name too longERROR: Sender last name too longERROR: User, {senderEmail}, is disabled and cannot create files.
Notes:
- Difference from Gateway: GatewayV2 accepts an empty
pstr_Signers. - The signer limit of 24 counts first-level and second-level signers. It does not count the sender that
pstr_Cosignadds. An emptypstr_Signerscounts as one signer, so with an emptypstr_Signersyou can send a maximum of 23 second-level signers. Empty entries between commas also count. - The service converts email addresses to lowercase and removes spaces.
- The service adds the permanent CC addresses of the portal to the CC list.
- If no user exists for the sender email, the service creates one. If the sender has a portal role lower than Admin, the service changes the role to Admin.
- If the sender has no first name or last name on file, the service sets them from
pstr_SenderName. - This operation does not send invitations. Use the invitation operations of the Gateway service to send them.
AddParticipantGroup
Adds participant groups and participant group sets to an active folder. A group marks a signer level as a group. A group set lets a range of signer levels sign at the same time.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| groupSettings | ParticipantGroupSettings | Yes | The folder ID, the groups and the group sets to add. Both Groups and GroupSets must be present. Each list can be empty. |
Returns: ParticipantGroupResult. On success, IsSuccess = true, FolderId = the folder ID you sent, and Groups and GroupSets contain all groups and group sets of the folder after the change. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
ERROR: Invalid API CodeERROR: Participant groups settings parameter is required.ERROR: Folder could not be accessedERROR: Folder is not active.ERROR: MinimumSequence must be in range of 1-10.ERROR: MaximumSequence must be in range of 1-10.ERROR: MaximumSequence must be greater than or equal to MinimumSequence.ERROR: Sequence {n} can only be part of one Participant Level Pool. Please make sure to remove unwanted Participant Level Pools before adding replacements.ERROR: Max signer count should be equal to 1.ERROR: Participant sequence should be in range of 1-10
Notes:
- The folder must be active.
MaxSignerCountmust be1for each group.- If a group already exists for a
Sequence, the service updates it. It does not add a second group. - A signer level can be in only one group set. The service checks the new group sets against each other and against the existing group sets of the folder. To replace a group set, remove it first with
RemoveParticipantGroup. - If
GroupsorGroupSetsis missing (null), the call fails with a SOAP fault. Always send both lists.
RemoveParticipantGroup
Removes participant groups and participant group sets from a folder.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| groupSettings | ParticipantGroupSettings | Yes | The folder ID, the groups and the group sets to remove. Both Groups and GroupSets must be present. Each list can be empty. |
Returns: ParticipantGroupResult. On success, IsSuccess = true, FolderId = the folder ID you sent, and Groups and GroupSets contain the groups and group sets that remain on the folder. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
ERROR: Invalid API CodeERROR: Participant groups settings parameter is required.ERROR: Cannot find Participant Group Sequence {sequence} to remove.ERROR: Cannot find Participant Group Set with MinimumSequence {minimumSequence} to remove.ERROR: Participant Group Set MaximumSequence {maximumSequence} does not match existing record.
Notes:
- The service identifies a group by its
Sequence. It ignoresMaxSignerCount. - The service identifies a group set by its
MinimumSequence.MaximumSequencemust match the existing group set. - The service checks that all groups and group sets exist before it removes any of them.
AddManyLocations
Adds many field locations to one document for one signer. The service processes each location separately and returns one result for each location.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| pstr_APICode | string | Yes | The API code of the portal. |
| pstr_FileID | string | Yes | The folder ID. |
| pstr_DocumentID | string | Yes | The document ID. The document must be in the folder. |
| locations | ArrayOfDocumentField | Yes | The locations to add. Refer to DocumentField in Data types. |
| pstr_SignerEmail | string | Yes | The email address of the signer. The signer must be a signer in the folder. |
| sequence | int (nillable) | No | The signer level. Required if the signer has more than one signature request on the document. Negative values become 0 (no level). |
Returns: string. An XML document with one AddLocationResult element for each location, in the order of locations. Each element contains SUCCESS or an error string. Example:
<?xml version="1.0" encoding="utf-16"?>
<LocationResults>
<AddLocationResult>SUCCESS</AddLocationResult>
<AddLocationResult>ERROR: Invalid top coordinates.</AddLocationResult>
</LocationResults>
| XML element | Description |
|---|---|
LocationResults |
The root element. |
LocationResults/AddLocationResult |
The result for one location: SUCCESS or an error string. |
Errors: Each AddLocationResult can contain one of these strings:
ERROR: Invalid API CodeERROR: Invalid page number. Please ensure the page number is between 1 and 400.ERROR: Invalid top coordinates.ERROR: Invalid left coordinates.ERROR: Invalid signer email '{signerEmail}'. Reason: {reason}ERROR: File could not be accessedERROR: Document could not be accessedERROR: Document ExpiredERROR: SignerEmail not validERROR: {signerEmail} is not a signer at level {sequence}ERROR: Signer sequence ambiguous. Sequence must be included for this signer and document.ERROR: Signing locations can only be added for signers of a document.ERROR: Signing locations can only be added to unsigned signature requestsERROR: Could not remove an existing large signature box before adding a new oneERROR: Invalid LocationType
Notes:
- The service does not process the locations as one transaction. Some locations can succeed and others can fail.
FieldTypecontrols the location type. These values are accepted:FullNameTextBox,InitialTextBox,CustomTextBox,ShortCustomTextBox,SignatureBox,FileUpload,PaymentAuth,PaymentAuthWithAddress,Date,Time,LargeCustomBox,Company,Title. The valuesLabelandCommentreturnERROR: Invalid LocationType.- The service treats
CustomTextBoxasLargeCustomBox. - The service ignores
Height,WidthandValue. The field type sets the size. - Caption rules:
ShortCustomTextBoxuses the first 7 characters.LargeCustomBox(andCustomTextBox) uses the first 20 characters.FileUploaduses the first 100 characters.FullNameTextBox,InitialTextBox,Date,Time,CompanyandTitleuse fixed captions. - A
SignatureBoxreplaces the existing signature box of the same signer request on the document. - A
FileUploadlocation also creates a signer upload request for the signer. - If the signer email is valid but no user exists for it, the call fails with a SOAP fault.
DownloadSelectedContent
Returns a ZIP archive with the folder content that you select. You can select documents by status, reference documents and signer uploads.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| contentDto | DownloadSelectedContentDTO | Yes | The folder ID and the content options. Refer to Data types. |
Returns: DownloadSelectedContentResult. On success, IsSuccess = true, FolderId = the folder ID you sent, and FilesZip = the bytes of the ZIP archive. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
ERROR: Invalid API CodeERROR: download file content request parameter is required.ERROR: Folder could not be accessed.ERROR: Folder was deleted.ERROR: No download options were selected; try again after selecting one or more download options.ERROR: Downloading signer uploads on their own and as attachments to documents is not allowed.ERROR: Folder does not contain any documents in the selected categories.ERROR: An error occurred gathering the files. If this problem persists, please contact support.
Notes:
- You must set at least one of these options to
true:UnsignedDocuments,PartiallySignedDocuments,FullySignedDocuments,ExpiredDocuments,DeclinedDocuments,ReferenceDocuments,SignerUploadedAttachments.AppendSignerUploadsalone is not sufficient. - You cannot set both
SignerUploadedAttachmentsandAppendSignerUploadstotrue. - Content for each document status:
- Awaiting signature or converting: the original file.
- Declined or revoked: the original file.
- Signed or archived: the signed PDF.
- Partially signed: a PDF that the service generates with the signatures to date.
- Expired: the service uses the signatures to date. All signed = signed PDF. Some signed = generated partially signed PDF. None signed = original file.
- If
AppendSignerUploadsistrue, the service generates the signed and partially signed PDFs with the signer uploads attached. - Document entries have the name
{document name without extension}-[{token}].pdf. The token is an opaque unique value. - Reference document entries have the name
{file name without extension}-[{token}].pdf. The.pdfextension is always used, also for files that are not PDF. - Signer uploads from the classic signing experience have the name
{signer email}.zip. - Other signer uploads are in a subfolder with the name
{upload name}-{token}. Each file has the name{file name}-{token}.{extension}. - The service replaces characters that are not valid in file names with
-. - The service adds a file only if the stored file exists.
- The folder can be in any status except deleted.
RemoveAllDocumentFields
Removes all field locations from a document that nobody has signed. It also removes the signer upload requests that belong to the document.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| documentId | string | Yes | The document ID. The document must belong to the portal of the API code. |
Returns: DocumentFieldsResult. On success, IsSuccessful = true. On failure, IsSuccessful = false and ErrorMessage contains the error.
Errors:
ERROR: Invalid API CodeERROR: Document does not exist.ERROR: Document Fields cannot be removed from this document.
Notes:
- The document status must be awaiting signature or converting. For all other statuses, the service returns
ERROR: Document Fields cannot be removed from this document. - The operation removes all location types, including signature boxes, text boxes, file upload locations and payment locations.
- The operation also removes the signer upload requests that belong to the document. This change cannot be undone.
GatewayV2.GetMaintenanceLink
Retired It does not return a link. Use GetLink with LinkType = FileMaintenanceLink or SecureFileMaintenanceLink.
Data types (GatewayV2)
ParticipantGroupSettings
| Field | Type | Description |
|---|---|---|
| FolderId | string | The folder ID. |
| Groups | ArrayOfParticipantGroup | The groups to add or remove. Must be present. Can be empty. |
| GroupSets | ArrayOfParticipantGroupSet | The group sets to add or remove. Must be present. Can be empty. |
ParticipantGroup
| Field | Type | Description |
|---|---|---|
| Sequence | int | The signer level. Range 1 to 10. |
| MaxSignerCount | int | The number of signers at this level that must sign. Must be 1. |
ParticipantGroupSet
| Field | Type | Description |
|---|---|---|
| MinimumSequence | int | The lowest signer level of the set. Range 1 to 10. |
| MaximumSequence | int | The highest signer level of the set. Range 1 to 10. Must be greater than or equal to MinimumSequence. |
ParticipantGroupResult
| Field | Type | Description |
|---|---|---|
| IsSuccess | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
| FolderId | string | The folder ID from the request. Empty if the request had no settings. |
| Groups | ArrayOfParticipantGroup | All groups of the folder after the change. Not included on failure. |
| GroupSets | ArrayOfParticipantGroupSet | All group sets of the folder after the change. Not included on failure. |
DocumentField
| Field | Type | Description |
|---|---|---|
| Page | int | The page number. Range 1 to 400. |
| Top | int | The top position. Must be 0 or more. |
| Left | int | The left position. Must be 0 or more. |
| Width | int | Ignored by AddManyLocations. |
| Height | int | Ignored by AddManyLocations. |
| Caption | string | The caption. Refer to the caption rules in AddManyLocations. |
| IsRequired | boolean | true if the signer must complete the field. |
| Value | string | Ignored by AddManyLocations. |
| FieldType | DocumentFieldType | The location type. Refer to the next table. |
DocumentFieldType (enumeration)
| Value | Accepted by AddManyLocations |
|---|---|
FullNameTextBox |
Yes |
InitialTextBox |
Yes |
CustomTextBox |
Yes (treated as LargeCustomBox) |
ShortCustomTextBox |
Yes |
Label |
No |
SignatureBox |
Yes |
Comment |
No |
FileUpload |
Yes |
PaymentAuth |
Yes |
PaymentAuthWithAddress |
Yes |
Date |
Yes |
Time |
Yes |
LargeCustomBox |
Yes |
Company |
Yes |
Title |
Yes |
DownloadSelectedContentDTO
| Field | Type | Description |
|---|---|---|
| FolderId | string | The folder ID. |
| UnsignedDocuments | boolean | Include documents that nobody has signed. |
| PartiallySignedDocuments | boolean | Include partially signed documents. |
| FullySignedDocuments | boolean | Include signed and archived documents. |
| AppendSignerUploads | boolean | Attach signer uploads to the signed and partially signed PDFs. Cannot be used with SignerUploadedAttachments. |
| ReferenceDocuments | boolean | Include reference documents. |
| SignerUploadedAttachments | boolean | Include signer uploads as separate files. |
| ExpiredDocuments | boolean | Include expired documents. |
| DeclinedDocuments | boolean | Include declined and revoked documents. |
DownloadSelectedContentResult
| Field | Type | Description |
|---|---|---|
| IsSuccess | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
| FolderId | string | The folder ID from the request. |
| FilesZip | base64Binary | The ZIP archive. Not included on failure. |
DocumentFieldsResult
| Field | Type | Description |
|---|---|---|
| IsSuccessful | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
GatewayV3
Endpoint: {BASE_URL}/Services/GatewayV3.asmx
SOAP namespace: http://apps.sertifi.net/services/
GatewayV3 extends GatewayV2. The GatewayV3 endpoint also exposes all GatewayV2 and Gateway operations. Where GatewayV2 changes a Gateway operation (for example, DownloadFileContents, CreateSignatureRequest and GetMaintenanceLink), GatewayV3 uses the GatewayV2 behavior. This section documents only the operations that GatewayV3 adds.
Most GatewayV3 error strings start with Error: (mixed case). The EmailGroupName error starts with ERROR:, and warnings start with Warning:. GatewayV2 and Gateway error strings start with ERROR:.
All date strings in GatewayV3 responses are ISO 8601 date-time strings in UTC.
GetFolderStatus
Returns the settings, signers, documents and signatures of a folder. This operation is a new version of the Gateway operation GetFileStatus.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| folderId | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
| includeDocumentDatabaseXML | boolean | No | Set to true to include the document database XML. Default is false. |
Returns: FolderStatus. On success, IsSuccessful = true and the other fields contain the folder data. On failure, IsSuccessful = false and ErrorMessage contains the error.
Errors:
Error: Invalid API CodeError: Folder could not be accessed
Notes:
- The operation returns data for folders in all statuses.
Signerscontains one entry for each signer level of each participant. A CC participant has an entry withSignerType=0.- If
includeDocumentDatabaseXMLisfalse,DocumentDatabaseXMLis empty. - The document database XML contains the folder external IDs
FileExternalId1toFileExternalId10,FileNumericId1, and the document external IDsDocumentExternalId1toDocumentExternalId3.
SetFolderParameters
Sets one or more parameters on a folder. The service returns one result for each parameter, in the order of the request.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. |
| folderId | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
| folderParameters | ArrayOfFolderParameter | Yes | The parameters to set. Refer to FolderParameter and the parameter type table. |
Returns: FolderParametersResponse. If the API code and folder are valid, IsSuccessful = true and Results contains one ParameterSetResult for each parameter. Check each result: IsSuccessful shows if that parameter was set, and Message contains an error or a warning. If the API code or folder is not valid, IsSuccessful = false and ErrorMessage contains the error.
Errors: Call-level errors (in ErrorMessage):
Error: Invalid API CodeError: Folder could not be accessed
Parameter-level messages (in Results[n].Message):
Warning: The Value passed was too long and was truncated to 100 characters.(withIsSuccessful=true)Error: BoolValue required for this parameter type.Error: DateValue required for this parameter type.Error: NumericValue required for this parameter type.Error: a valid EmailValue required for this parameter type.Error: could not parse XML.Error: Consolidated Signing not available for this account. If you would like this feature, please contact our sales or support team.Error: enablemousesignature is disabled for this portal.Error: You can't set the expiration date for a folder for more than 365 days from now. Set the expiration date for less than 365 days.Error: Security prompt cannot be longer than 200 characters.Error: Security answer cannot be longer than 50 characters.Error: {value} is not a supported languageERROR: "{emailGroupName}" email group is either not present or does not have any e-mail templates defined.
Parameter types:
| ParameterType | Fields used | Behavior and messages |
|---|---|---|
MaskEmailsFromClient |
BoolValue (required) | Hides participant email addresses from signers. |
IdCheck |
BoolValue (required), UserEmail (optional) | Without UserEmail: turns ID check on or off for the folder. With UserEmail: turns ID check on for the folder, and turns it on or off for that user. Unknown UserEmail returns Error: a valid EmailValue required for this parameter type. Use the email of a participant in the folder. |
AdditionalInputFields1 to AdditionalInputFields10 |
Value1 (required) | Sets the additional input field. The service truncates values longer than 100 characters and returns the warning. |
AdditionalNumericField1 |
NumericValue (required) | Sets the numeric field. |
MustSignWithName |
UserEmail (required), Value1, BoolValue (optional) | Sets the name that the participant must sign with. Empty Value1 clears the requirement. BoolValue true pre-fills the name for the signer. If BoolValue is omitted, the pre-fill setting does not change. The user must be a participant in the folder. |
DefaultLanguage |
Value1 | Sets the default language of the folder. Accepted values (case-sensitive): en, es, fr, fr-CA, da, de, fi, it, pt-BR, no, sv, pl. Empty or omitted Value1 clears the language. |
SecurityQuestion |
UserEmail (required), Value1 (required), Value2 (required) | Sets a security question (Value1, maximum 200 characters) and the answer (Value2, maximum 50 characters) for a participant. The user must be a participant in the folder. |
EmailGroupName |
Value1 (required) | Puts the folder in the email group with this name. The service removes leading and trailing spaces. The group must exist and have email templates. |
ExpiresOn |
DateValue (required) | Sets the folder expiration date. The date must be no more than 365 days in the future. |
ConsolidatedSigning |
BoolValue (required) | Turns consolidated signing on or off. The portal must have consolidated signing. |
EnableMouseSignature |
BoolValue (required) | Lets signers draw a signature. You cannot set true if the portal has drawn signatures disabled. |
SendReminders |
BoolValue (required) | Turns automatic reminders on or off. |
EventDate |
DateValue | Sets the event date. Empty or omitted DateValue clears the event date. |
ConfirmationNumber |
Value1 (required) | Sets the confirmation number. The service truncates values longer than 100 characters and returns the warning. |
CustomMetadataXml |
Value1 (required) | Adds custom metadata to the document database of the folder. Refer to "Custom metadata XML". |
Custom metadata XML (CustomMetadataXml, Value1): The service reads the XML in one of three formats. The service ignores an element with the name record (any case). Use it as the root element.
- Attribute format. The first element after
recordis namedfield(exact case). Each element has these attributes:
| Item | Description |
|---|---|
field element |
One metadata item. |
Name attribute |
The metadata name. |
Text attribute |
The metadata value. |
xml
<record>
<field Name="ReservationType" Text="Group" />
</record>
- Element-name format. The first element after
recordhas any other name. The element name is the metadata name. TheTextattribute is the value.
xml
<record>
<ReservationType Text="Group" />
</record>
- Standard format. After an element with the name
recordstandardxmlformat(any case), each child element name is the metadata name and the element text is the value.
xml
<recordstandardxmlformat>
<ReservationType>Group</ReservationType>
</recordstandardxmlformat>
The service marks a metadata name that starts with SENS__ as sensitive. The service ignores items that do not have a valid name. If the XML is not valid, or Value1 is empty, the result is Error: could not parse XML. The service adds the new items to the existing metadata. It does not remove existing items.
Notes:
- The service saves all folder changes after it processes all parameters. A failed parameter does not stop the other parameters.
MustSignWithName,SecurityQuestion,CustomMetadataXmlandIdCheckwith a UserEmail save their changes immediately.ParameterTypeis required. If you omit it, the service usesMaskEmailsFromClient, and aBoolValuethen changes email masking for the folder.- Dates in
DateValuemust be in a format that .NETDateTimeOffsetcan parse, for example ISO 8601 (2026-12-31T17:00:00-05:00). If the service cannot parse the date, the call fails with a SOAP fault. Changes from parameters that save immediately stay in effect. Other changes from the same call are lost. - If
UserEmaildoes not match a user forMustSignWithNameorSecurityQuestion, the call fails with a SOAP fault.
NewPayment
Creates a payment or authorization request in a folder.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. Payments must be enabled for the portal. |
| folderId | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
| payment | PaymentToCreate | Yes | The payment data. Refer to Data types. |
Returns: PaymentResult. On success, IsSuccess = true and Payment contains the status of the new payment. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
Error: Invalid API CodeError: Payments are not enabled for this account.Error: Folder could not be accessedError: Payment Gateway not configured.Error: Payment Gateway does not support selected payment recurrence.Error: Payment Operation is not enabled or supported for payment gateway.Error: Invalid 'billingcountry' parameter. Only two or three letter ISO 3661-1 codes are accepted.Error: payeremail is not a participant of given fileId.Error: Amount needs to be greater than 0Error: Amount needs to be 0Error: Refund amount needs to be greater than 0Error: Refunds need to be linked to a parent transactionError: Payer required for refund transactionError: Need to indicate who initiated the refundError: Amount needs to be less than 1,000,000Error: Number of decimal places in the amount cannot be greater than 2Error: Number of decimal places in the CloneAmount cannot be greater than 2Error: Description cannot be blankError: Either 'Use Automatic Rules' must be selected or payment methods must be selectedError: Could not save paymentError: {message}(other errors from the payment service)
Notes:
- The service returns only the first validation error.
Operation=Pay:Amountmust be more than 0.Operation=Verify(authorization):Amountmust be 0.Operation=Refundalways fails. This operation cannot link a refund to an existing payment.Amountmust be less than 1,000,000 and have a maximum of 2 decimal places. Trailing zeros count as decimal places, so10.000fails. The same rule applies toCloneAmount.- The service truncates
DescriptionandCloneDescriptionto 50 characters. - If
CloneAmountis 0 or less, the service ignores it. - If the service cannot parse
DatePaymentDue, it ignores the value and sets no due date. BillingCountrymust be an ISO 3166-1 alpha-2 or alpha-3 code. The service stores and returns the country name that matches the code.PayerEmailmust belong to a signer in the folder. A CC participant is not accepted. If no user exists forPayerEmail, the call fails with a SOAP fault.- If
AllowedPayMethodsis omitted, the service allows all payment methods. Recurrence=Monthlyrequires a payment gateway that supports recurring payments.- On success, the payment also appears in the action list of the folder.
GetPaymentStatus
Returns the status of one payment in a folder.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. Payments must be enabled for the portal. |
| folderId | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
| paymentId | string | Yes | The payment ID. The payment must be in the folder. |
Returns: PaymentResult. On success, IsSuccess = true and Payment contains the payment status. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
Error: Invalid API CodeError: Payments are not enabled for this account.Error: Folder could not be accessedError: Payment request could not be accessed
Notes:
- The service does not return deleted payments.
SurchargeAmount,SurchargePercentandGrossAmounthave values only whenStatus=Approved. Refer toPaymentStatusin Data types.
GetAllPaymentStatusesForFolder
Returns the status of all payments in a folder.
Active
| Parameter | Type | Required | Description |
|---|---|---|---|
| apiCode | string | Yes | The API code of the portal. Payments must be enabled for the portal. |
| folderId | string | Yes | The folder ID. The folder must belong to the portal of the API code. |
Returns: AllPaymentResults. On success, IsSuccess = true and Payments contains one PaymentStatus for each payment. The list is empty if the folder has no payments. On failure, IsSuccess = false and ErrorMessage contains the error.
Errors:
Error: Invalid API CodeError: Payments are not enabled for this account.Error: Folder could not be accessed
Notes:
- The service does not return deleted payments.
Data types (GatewayV3)
FolderStatus
| Field | Type | Description |
|---|---|---|
| IsSuccessful | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
| FolderId | string | The folder ID. |
| FolderName | string | The folder name. |
| Status | string | The folder status: Archived, Active, ActiveCC, ArchivedCC, AwaitingVerification, Creating, Declined, DeclinedAndArchived, Expired or Deleted. |
| EventDate | string | The event date. |
| RedirectURL | string | The URL to send signers to after an action. |
| UrlRedirectOnActions | string | The actions that cause the redirect, as a comma-separated list. Values: Sign, Decline, ReAssign, Pay, PayFailed. None if no action is set. |
| AdditionalInputField1 to AdditionalInputField10 | string | The additional input fields. Signers do not see them. |
| AdditionalNumericField1 | long (nillable) | The additional numeric field. |
| ConfirmationNumber | string | The confirmation number. |
| ConsolidatedSigning | boolean | true if consolidated signing is on. |
| DefaultLanguage | string | The default language code of the folder. |
| EmailGroupName | string | The name of the email group of the folder. |
| EmailMessage | string | The custom email message of the folder. |
| EnableIdCheck | boolean | true if ID check is on for the folder. |
| EnableMouseSignature | boolean | true if signers can draw a signature. |
| ExpiresOnDate | string | The folder expiration date. |
| DateLastAction | string | The date of the last change to the folder. |
| MaskEmailsFromClient | boolean | true if participant email addresses are hidden from signers. |
| Sender | string | The email address of the folder owner. |
| SendReminders | boolean | true if automatic reminders are on. |
| SignatureType | SignatureMethodType | The allowed signature methods: ElectronicallyAndFax, Electronically or Fax (print and sign). |
| Signed | int | The number of signed documents. |
| Unsigned | int | The number of documents that are not signed. |
| DocumentDatabaseXML | string | The document database XML. Empty unless includeDocumentDatabaseXML = true. |
| Signers | ArrayOfFolderSigner | The participants of the folder. |
| Documents | ArrayOfDocumentStatus | The documents of the folder. |
FolderSigner
| Field | Type | Description |
|---|---|---|
| UserID | string | An opaque ID of the participant. |
| string | The email address of the participant. | |
| DateInvited | string | The last date the participant was invited, at any level. Empty if never invited. |
| DateLastVisit | string | The last date the participant visited the folder. Empty if never. |
| Open | int | The number of documents that the participant has not signed. |
| SignerType | string | The signer level as a number (1, 2, ...). 0 = CC. |
| Signed | int | The number of documents that the participant has signed. |
DocumentStatus
| Field | Type | Description |
|---|---|---|
| DocumentId | string | The document ID. |
| Name | string | The document name. |
| Status | DocumentStatusType | The document status: AwaitingSignature, Signed, ConvertingToPdf, AwaitingVerification, PartiallySigned, Archived, Revoked, Declined, ConversionFailed, Expired or Undefined. |
| DateCreated | string | The date the document was added. |
| DateSigned | string | The date the document was fully signed. For a document that is not signed, the minimum date (year 0001). |
| FileName | string | The file name of the document. |
| Signatures | ArrayOfSignature | One entry for each signature request on the document. |
Signature
| Field | Type | Description |
|---|---|---|
| string | The email address of the signer. | |
| NameSigned | string | The name that the signer typed. |
| IpAddress | string | The IP address of the signer at the time of signature. |
| SignMethod | string | Electronic or Fax. |
| DateSigned | string | The date the signer signed. For a signer who has not signed, the minimum date (year 0001). |
| SignerType | int | The signer level. |
| SignatureAction | SignerActionType | Sign or Review. Always Sign if consolidated signing is off. |
| IdCheck | boolean | true if the signer must complete an ID check. |
| MustSignWithName | string | The name that the signer must sign with. |
| DateDeclined | string | The date the signer declined. Only for declined requests. |
| DeclinedComments | string | The reason the signer gave for the decline. Only for declined requests. |
| CustomField1 to CustomField4 | CustomField | The signature stamp custom fields. Only for signed requests, and only if the document defines the field. |
CustomField
| Field | Type | Description |
|---|---|---|
| Title | string | The field title that the sender set. |
| Value | string | The value that the signer entered. |
FolderParameter
| Field | Type | Description |
|---|---|---|
| ParameterType | FolderParameterType | The parameter to set. Refer to the parameter type table in SetFolderParameters. |
| Value1 | string | The first string value. |
| Value2 | string | The second string value. |
| UserEmail | string | The email address of the user for the parameter. |
| BoolValue | boolean (nillable) | The Boolean value. |
| DateValue | string | The date value. |
| NumericValue | long (nillable) | The numeric value. |
FolderParametersResponse
| Field | Type | Description |
|---|---|---|
| IsSuccessful | boolean | true if the API code and folder are valid. Check each item in Results. |
| ErrorMessage | string | The call-level error. |
| Results | ArrayOfParameterSetResult | One result for each parameter, in request order. |
ParameterSetResult
| Field | Type | Description |
|---|---|---|
| IsSuccessful | boolean | true if the service set the parameter. |
| Message | string | An error or a warning. Empty if there is no message. |
PaymentToCreate
| Field | Type | Description |
|---|---|---|
| Amount | decimal | The amount. Refer to NewPayment notes for the rules. |
| CloneAmount | decimal (nillable) | The amount to pre-fill if a user clones this payment. Maximum 2 decimal places (trailing zeros count). |
| Description | string | The payment name or description. Required. The service truncates values longer than 50 characters. |
| CloneDescription | string | The description to pre-fill if a user clones this payment. The service truncates values longer than 50 characters. |
| Recurrence | PaymentReccurence | OneTime or Monthly. Default OneTime. |
| DatePaymentDue | string | The due date. |
| Operation | OperationType | Pay or Verify (authorization). Default Pay. Refund is not supported. |
| UsePaymentRules | boolean | true to use the default payment rules of the portal. Default false. |
| BillingName | string | The billing name of the payer. |
| BillingAddress1 | string | Billing address line 1. |
| BillingAddress2 | string | Billing address line 2. |
| BillingCity | string | Billing city. |
| BillingState | string | Billing state. |
| BillingCountry | string | Billing country as an ISO 3166-1 alpha-2 or alpha-3 code. |
| BillingZip | string | Billing ZIP or postal code. |
| BillingEmail | string | Billing email address. |
| PayerEmail | string | The email address of the payer. Must be a signer in the folder. |
| AllowedPayMethods | PaymentMethodTypes (nillable) | The allowed payment methods. Space-separated list of CreditCard, Ach, BankTransferDirectTransfer, BankTransferSEPA, or All or None. Default All. |
PaymentResult
| Field | Type | Description |
|---|---|---|
| IsSuccess | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
| Payment | PaymentStatus | The payment status. Not included on failure. |
AllPaymentResults
| Field | Type | Description |
|---|---|---|
| IsSuccess | boolean | true if the call succeeded. |
| ErrorMessage | string | The error. Empty on success. |
| Payments | ArrayOfPaymentStatus | The status of each payment in the folder. |
PaymentStatus
| Field | Type | Description |
|---|---|---|
| PaymentId | string | The payment ID. |
| DocumentId | string | The ID of the document that contains the payment location. Empty if there is none. |
| Title | string | The payment description. |
| CloneDescription | string | The clone description. |
| Amount | decimal | The amount. |
| CloneAmount | decimal (nillable) | The clone amount. |
| Currency | string | The currency. |
| AvsStatus | string | The address verification result from the gateway. |
| BillingName | string | Billing name. |
| BillingAddress1 | string | Billing address line 1. |
| BillingAddress2 | string | Billing address line 2. |
| BillingCity | string | Billing city. |
| BillingState | string | Billing state. |
| BillingZip | string | Billing ZIP or postal code. |
| BillingCountry | string | Billing country name. |
| BillingEmail | string | Billing email address. |
| CVVStatus | string | The card security code result from the gateway. |
| DateCreated | string | The date the payment was created. |
| DateProcessed | string | The date the payment was processed. Empty if not processed. |
| DateDue | string | The due date. Empty if not set. |
| CreatedByEmail | string | The email address of the user who created the payment. |
| PaymentErrorMessage | string | The last error message of the payment. |
| PayerIPAddress | string | The IP address of the payer. |
| Status | PaymentStatusType | Ready, Processing, Redirected, Authorized, Approved (paid), Refunded, Returned, Voided or Error. |
| CardLastFour | string | The last four digits of the card. |
| CardType | string | The card brand. |
| CardExpirationMonth | string | The card expiration month (two digits). |
| CardExpirationYear | string | The card expiration year (four digits). |
| CardExpirationDate | string | The card expiration date. |
| PaymentMethod | PaymentMethodType | CreditCard, Ach, BankTransferDirectTransfer, BankTransferSEPA or None. |
| UsePaymentRules | boolean | true if the payment uses the default payment rules. |
| BankName | string | The bank name (bank payments). |
| RoutingNumber | string | The bank routing number (bank payments). |
| BankAccountType | string | The bank account type (bank payments). |
| GatewayTokenId | string | The payment method token from the gateway. |
| GatewayTransactionId | string | The transaction ID from the gateway. |
| GatewayName | string | The name of the payment gateway. |
| Identifier | string | The payment reference number. |
| Operation | string | The operation name. |
| RefundedPaymentId | string | For a refund, the ID of the original payment. |
| PayerEmail | string | The email address of the payer. |
| AllowedPayMethods | PaymentMethodTypes | The allowed payment methods. |
| HasSurcharge | boolean | true if surcharging is enabled for the payment. A surcharge is not always applied. |
| SurchargeAmount | string | The surcharge amount. Set only for approved payments with a surcharge. |
| SurchargePercent | string | The surcharge percentage. Set only for approved payments with a surcharge. |
| GrossAmount | string | The total amount with surcharge. Equal to Amount when surcharging is disabled. Empty for approved payments where surcharging is enabled but no surcharge was applied. Empty for payments that are not approved. |