Mark Sign (Preview)

Mark Sign is a qualified electronic signature service compliant with eIDAS regulation. Send documents for signing, wait for the signatures, download and validate the signed files.

This connector is available in the following products and regions:

Service Class Regions
Copilot Studio Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Logic Apps Standard All Logic Apps regions except the following:
     -   Azure Government regions
     -   Azure China regions
     -   US Department of Defense (DoD)
Power Apps Premium All Power Apps regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Power Automate Premium All Power Automate regions except the following:
     -   US Government (GCC)
     -   US Government (GCC High)
     -   China Cloud operated by 21Vianet
     -   US Department of Defense (DoD)
Contact
Name Mark ID, UAB
URL https://marksign.eu
Email pagalba@marksign.lt
Connector Metadata
Publisher Mark ID, UAB
Website https://marksign.eu
Privacy policy https://marksign.eu/privacy-policy
Categories Productivity;Content and Files

Mark Sign

Mark Sign is a qualified electronic signature service compliant with the eIDAS regulation. A flow can send a document for signing, wait until it is signed, then download the signed file and validate it.

Publisher: Mark ID, UAB

Prerequisites

You need a Mark Sign API access token. See Obtaining Credentials below.

Supported Operations

Document: Upload

Uploads a document (PDF, ADoc, BDoc or ASiC-E) and prepares it for signing. The file name becomes the document title.

Signing: Invite by email

Invites a person to sign; Mark Sign sends the invitation email. Calling it again for the same person sends a reminder.

Signing: Invite by URL

Adds a signer without sending an email and returns their personal Invitation URL for you to deliver.

Signing: Wait for all signers

Holds the flow until the document is signed or rejected, or ends with the timed_out status when the waiting time (29 days by default) runs out.

Signing: Wait for one signer

Holds the flow until one particular signer, chosen by email, signs. Any rejection also ends the wait.

Signing: Wait for next signer

Resumes the flow the moment the next signer signs or rejects, with no polling.

Document: Get status

Checks the overall signing status of the document.

Document: Get signers

Lists each signer's status, including the rejection reason if a signer rejected.

Document: Download

Downloads the document with all signatures collected so far.

Document: List

Lists the documents in your workspace, with text search and paging.

Document: Remove

Removes a document from the workspace.

Document: Upload as container

Combines several files into one signable container document (ADoc, BDoc or ASiC-E). Billing follows the Mark Sign default, where each signer pays.

Creates a personal signing link for each signer, to deliver yourself. The links expire, can require identity verification, and are the only signing pages with a reject option.

Creates one link anyone can open to sign the documents, each under their own verified identity.

Deletes a signer link or shared link before it expires.

Document: Extend signature validity

Upgrades the document signatures for long-term validity (LT) or long-term archiving (LTA).

Document: Validate

Checks the signatures of a document and returns the full validation report.

Obtaining Credentials

Contact Mark Sign customer support at pagalba@marksign.lt to request an API access token for your workspace. When creating a connection in Power Automate, paste the token into the "API Key" field.

The token is tied to one workspace, so every document created or listed through the connection belongs to that workspace.

Getting Started

The simplest signing flow:

  1. Document: Upload (for example, the file content and name tokens from SharePoint or OneDrive).
  2. Signing: Invite by email. Mark Sign emails the invitation.
  3. Signing: Wait for next signer. The flow pauses here until the signing happens.
  4. Document: Download and store it where you need it.

With several signers, use Signing: Invite by email for each person, then one Signing: Wait for all signers step before the download. To deliver the links yourself instead of Mark Sign emails, use Signing: Invite by URL or Signing: Create signer links and send each person their link with your own Outlook or Teams action.

Known Issues and Limitations

  • The connector does not provide flow triggers; use the wait operations inside a flow instead.
  • A document has one notification registration. Do not run two Signing: Wait for next signer steps on the same document at the same time. The second replaces the first, and the first step then waits until it times out. Filling a Callback URL field on any block replaces the registration too.
  • Signers can reject a document only on a Signing: Create signer links page (with Show Reject Button on); email invitations, invitation URLs and shared links offer no reject option.
  • Mark Sign notifies only about signatures. When an invite block uses a Purpose of review or confirmation, that person's action never wakes Signing: Wait for next signer; check their status with Document: Get signers instead.
  • Document: Download returns the file content only; take the file name from Document: List or from your upload step.
  • A flow run can last at most 30 days (a Power Automate limit), so no wait can outlive that. Signing: Wait for all signers and Signing: Wait for one signer end with the timed_out status after 29 days by default. For Signing: Wait for next signer, set a Timeout (for example P29D) in the action settings and add a branch configured to run after the action has timed out. If the 30-day run limit hits first, Power Automate cancels the whole run and no branch handles it.
  • Document: List does not support filtering by status.
  • Document: Upload accepts one file per call; loop over attachments to upload several. Document: Upload as container is meant for a few files; combining many large files in one call can exceed the processing time limit.

Deployment Instructions

Run paconn create --api-prop apiProperties.json --api-def apiDefinition.swagger.json --script script.csx --icon icon.png to deploy this connector as a custom connector in your Power Platform environment. See paconn documentation for details.

Support

For issues with the connector or the Mark Sign API, contact pagalba@marksign.lt.

Creating a connection

The connector supports the following authentication types:

Default Parameters for creating connection. All regions Not shareable

Default

Applicable: All regions

Parameters for creating connection.

This is not shareable connection. If the power app is shared with another user, another user will be prompted to create new connection explicitly.

Name Type Description Required
API Key securestring The Mark Sign API access token of your workspace. Request one from Mark Sign support at pagalba@marksign.lt. True

Actions

Document: Download

Downloads the document with all signatures collected so far.

Document: Extend signature validity

Upgrades the document signatures for long-term validity or archiving.

Document: Get signers

Lists the signers of a document with their signing status.

Document: Get status

Gets the signing status of a document.

Document: List

Lists the documents in your workspace, newest first.

Document: Remove

Removes a document from your workspace.

Document: Upload

Uploads a document and prepares it for signing.

Document: Upload as container

Combines several files into one signable container document, such as an ADoc or ASiC-E. The files are uploaded and combined in a single step.

Document: Validate

Checks the signatures of a document and returns the validation report. The flow waits until the check finishes.

Signing: Create shared link

Creates one signing link that anyone can open to sign the documents. You deliver it yourself.

Signing: Create signer links

Creates a personal signing link for each signer. You deliver the links yourself, for example by email or Teams message.

Signing: Delete link

Deletes a signer link or shared link before it expires. Invitation links cannot be deleted.

Signing: Invite by email

Invites a person to sign the document. Mark Sign sends the invitation by email.

Signing: Invite by URL

Adds a signer to the document without sending an email, and returns their personal invitation link for you to deliver. The link does not expire and cannot be deleted; use "Signing: Create signer links" when you need links you can revoke.

Signing: Wait for all signers

Waits until every signer has signed or someone rejected the document, then lets the flow continue. Ends with the timed_out status when the time runs out.

Signing: Wait for next signer

Waits until the next signer signs or rejects the document, without sending any invitations. Use it in a loop to wait for several signers without polling.

Signing: Wait for one signer

Waits until one particular signer signs the document, then lets the flow continue. Ends with the timed_out status when the time runs out.

Document: Download

Downloads the document with all signatures collected so far.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

The content of the document file.

File Content
file

Document: Extend signature validity

Upgrades the document signatures for long-term validity or archiving.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Level
level True string

LT for long-term validity, LTA for long-term archiving.

Returns

Document: Get signers

Lists the signers of a document with their signing status.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Signers:
data array of object

The signers of the document.

Signer ID
data.id string

The ID of the signer.

First Name
data.name string

The signer's first name.

Last Name
data.surname string

The signer's last name.

Email
data.email string

The signer's email address.

Signing Status
data.status string

Whether the signer has signed: pending, signed, rejected, reviewing, confirmed, denied or reviewed.

Rejection Reason
data.rejection_reason string

The reason the signer gave when rejecting the document.

Document: Get status

Gets the signing status of a document.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Document Status
data.document_status string

The signing status: saved (waiting for signatures), signed_partially (some have signed) or signed (everyone has signed).

Document: List

Lists the documents in your workspace, newest first.

Parameters

Name Key Required Type Description
Search
query string

A phrase to look for in document titles and file names.

Offset
offset integer

How many documents to skip.

Limit
limit integer

How many documents to return. Default is 10.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Documents:
data array of object

The documents.

Document ID
data.uuid string

The ID of the document.

File Name
data.filename string

The name of the file.

Document Status
data.status string

The signing status of the document, such as saved (waiting for signatures), signed_partially or signed.

Uploaded At
data.uploaded_at date-time

When the document was uploaded.

Total
total integer

The total number of matching documents.

Document: Remove

Removes a document from your workspace.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

Document: Upload

Uploads a document and prepares it for signing.

Parameters

Name Key Required Type Description
File Name
file_name True string

The name of the file with its extension, for example contract.pdf. It becomes the document title.

body
body True binary
Access
access string

Who can view the document. Default is private.

Billing Type
billing_type True string

Who pays for the signatures.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Document ID
data.uuid string

The ID of the document.

File Name
data.filename string

The name of the file.

Document: Upload as container

Combines several files into one signable container document, such as an ADoc or ASiC-E. The files are uploaded and combined in a single step.

Parameters

Name Key Required Type Description
Document Type
document_type True string

The type of document to create.

File Name
file_name True string

The name of the file with its extension, for example contract.pdf.

File Content
file_content True byte

The content of the file.

File Type (ADoc only)
adoc_file_type string

The role of the file in the container. Only used when the document type is an ADoc.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Document ID
data.uuid string

The ID of the document.

File Name
data.filename string

The name of the document file.

Document: Validate

Checks the signatures of a document and returns the validation report. The flow waits until the check finishes.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Is Valid
data.document.is_valid boolean

Whether the document signatures are valid.

Valid To
data.document.valid_to string

How long the document stays valid.

Document Name
data.document.name string

The title of the document.

MIME Type
data.document.mimetype string

The file type of the document.

Signatures:
data.signatures array of object

The result for each signature.

Signature ID
data.signatures.id string

The ID of the signature.

Signing Time
data.signatures.signing_time string

When the signature was made.

Signature Format
data.signatures.signature_format string

The format of the signature.

Is Valid
data.signatures.is_valid boolean

Whether the signature is valid.

Valid To
data.signatures.valid_to string

How long the signature stays valid.

Certificates
data.certificates array of object

The certificates used by the signatures.

items
data.certificates object
Timestamps
data.timestamps array of object

The timestamps applied to the document.

items
data.timestamps object
Validation Time
metadata.validation_time string

When the validation was performed.

Creates one signing link that anyone can open to sign the documents. You deliver it yourself.

Parameters

Name Key Required Type Description
Document IDs
documents True array of string

The documents the link signs. Use Document ID values from upload or list steps.

Callback URL
callback_url string

A URL to notify when the document is signed.

Expire After (Minutes)
expire_after integer

Minutes until the link expires. Default is 2880 (two days).

Delete Document After (Minutes)
delete_document_after integer

Minutes until the document is deleted from the workspace. By default it is kept.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Signing Link
data.signing_link string

The link anyone can open to sign.

Signing Link ID
data.signing_link_id string

The ID of the link, for "Signing: Delete link".

Valid Until
data.valid_until integer

When the link expires, as a Unix timestamp.

Creates a personal signing link for each signer. You deliver the links yourself, for example by email or Teams message.

Parameters

Name Key Required Type Description
Document IDs
documents True array of string

The documents to create signing links for. Use Document ID values from upload or list steps.

Signer ID
id string

Your own ID for the signer, unique within the request. Required when Email is empty.

First Name
name string

The signer's first name.

Last Name
surname string

The signer's last name.

Email
email email

The signer's email address. Required when Signer ID is empty.

Personal Code
personal_code string

The signer's personal code. Needed when authentication is required.

Require Authentication
authentication_required boolean

If yes, the signer must verify their identity before opening the link.

Position (ADoc only)
position string

The signer's job position, shown in ADoc signatures.

Department (ADoc only)
structural_subdivision string

The signer's department, shown in ADoc signatures.

Signing Purpose (ADoc only)
signing_purpose string

Why the person signs, shown in ADoc signatures.

Callback URL
callback_url string

A URL to notify when the document is signed.

Rejection Callback URL
reject_callback_url string

A URL to notify when a signer rejects the document.

Expire After (Minutes)
expire_after integer

Minutes until the link expires. Default is 2880 (two days).

Show Reject Button
show_reject_button boolean

Whether signers can reject the document on the signing page. Default is yes.

Delete Document After (Minutes)
delete_document_after integer

Minutes until the document is deleted from the workspace. By default it is kept.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Signing Links:
temporary_signing_links array of object

One signing link per signer.

Signer ID
temporary_signing_links.id string

Your own ID for the signer.

First Name
temporary_signing_links.member_name string

The signer's first name.

Last Name
temporary_signing_links.member_surname string

The signer's last name.

Email
temporary_signing_links.member_email string

The signer's email address.

Signing Link
temporary_signing_links.temporary_signing_link string

The link the signer opens to sign the document.

Signing Link ID
temporary_signing_links.temporary_signing_link_id string

The ID of the signing link.

Valid Until
temporary_signing_links.valid_until integer

When the link expires, as a Unix timestamp.

Documents:
documents array of object

The documents the links were created for.

Document ID
documents.uuid string

The ID of the document.

File Name
documents.filename string

The name of the document file.

Deletes a signer link or shared link before it expires. Invitation links cannot be deleted.

Parameters

Name Key Required Type Description
Signing Link ID
temporarySigningLinkId True string

The Signing Link ID from the output of "Signing: Create signer links" or "Signing: Create shared link".

Returns

Signing: Invite by email

Invites a person to sign the document. Mark Sign sends the invitation by email.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

First Name
name True string

The signer's first name.

Last Name
surname True string

The signer's last name.

Email
email True email

The signer's email address.

Language
language string

The language of the invitation. Default is Lithuanian.

Success URL
success_url string

Where to send the signer after they finish signing.

Purpose
purpose string

Why the person is invited. Choose review to invite for viewing only.

Callback URL
callback_url string

A URL to notify when the document is signed.

Returns

Signing: Invite by URL

Adds a signer to the document without sending an email, and returns their personal invitation link for you to deliver. The link does not expire and cannot be deleted; use "Signing: Create signer links" when you need links you can revoke.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

First Name
name True string

The signer's first name.

Last Name
surname True string

The signer's last name.

Email
email True email

The signer's email address.

Success URL
success_url string

Where to send the signer after they finish signing.

Purpose
purpose string

Why the person is invited. Choose review to invite for viewing only.

Callback URL
callback_url string

A URL to notify when the document is signed.

Returns

Name Path Type Description
Status
status RequestStatus

The status of the request.

Invitation URL
data.invitation_url string

The personal signing page link to deliver to the signer.

Signing: Wait for all signers

Waits until every signer has signed or someone rejected the document, then lets the flow continue. Ends with the timed_out status when the time runs out.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Timeout (Minutes)
timeout_minutes integer

How long to wait, in minutes, before ending with the timed_out status. Default is 41760 (29 days), maximum is 43200 (30 days).

Returns

Signing: Wait for next signer

Waits until the next signer signs or rejects the document, without sending any invitations. Use it in a loop to wait for several signers without polling.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Returns

Signing: Wait for one signer

Waits until one particular signer signs the document, then lets the flow continue. Ends with the timed_out status when the time runs out.

Parameters

Name Key Required Type Description
Document ID
documentId True string

The ID of the document, from the output of "Document: Upload", "Document: Upload as container" or "Document: List".

Signer Email
signer_email True string

The email of the signer to wait for, the same email used when inviting them.

Timeout (Minutes)
timeout_minutes integer

How long to wait, in minutes, before ending with the timed_out status. Default is 41760 (29 days), maximum is 43200 (30 days).

Returns

Definitions

SigningEvent

Name Path Type Description
Document ID
uuid string

The ID of the document.

Document Status
status string

The signing status of the document, such as signed or signed_partially. A rejection shows in the signer statuses.

Signer Count
members_count integer

How many people were invited to sign.

Signed Count
signed_members_count integer

How many people have signed.

Signers:
members array of object

Everyone invited to sign.

Signer ID
members.id string

The ID of the signer.

First Name
members.member_name string

The signer's first name.

Last Name
members.member_surname string

The signer's last name.

Email
members.member_email string

The signer's email address.

Signing Status
members.status string

The signer status, such as pending, signed or rejected.

AcknowledgedResponse

Name Path Type Description
Status
status RequestStatus

The status of the request.

SigningWaitResponse

Name Path Type Description
Document Status
document_status string

How the waiting ended: signed, rejected or timed_out.

Rejected By
rejected_by string

Who rejected the document, if it was rejected.

Rejection Reason
rejection_reason string

The reason the signer gave, if the document was rejected.

RequestStatus

The status of the request.

The status of the request.

Status
string

file

This is the basic data type 'file'.