# Document Signature Process

Identifier of the document resource

# URI

`/trustedx-resources/esignsp/v2/signer_processes/{signature_process_id}`

# Description

Resource containing information on a signature process for documents.

# Representation

A signature process for documents is represented in JSON as follows:

`{`
`"id" : {string},`
`"self" : {string},`
`"process_type" : {string},`
`"signing_information" : {`
`"labels" : [ {string} ],`
`"sign_identity" : {`
`"id" : {string},`
`"url" : {string}`
`}`
`},`
`"result" : {`
`"status": {string},`
`"details": {`
`"message": {string}`
`} ]`
`},`
`"documents" : [ {`
`"id" : {string},`
`"url" : {string},`
`"content" : {string},`
`"result" : {`
`"status": {string},`
`"details": {`
`"message": {string}`
`}`
`}`
`} ]`
`}`

Property | Description
`id` | Identifier of the signature process. This property is optional and only present when the representation is for an already created signature process.
`self` | URL of the signature process. This property is optional and only present when the representation is for an already created signature process.
`process_type` | Signature process type. This property supports two values: `"urn:safelayer:eidas:processes:document:sign:esigp":` The process uses a signature identity managed by the TRIDENT platform. At the start of the process, the user is authenticated and prompted for authorization for their signature identities to be queried. `"urn:safelayer:eidas:processes:document:sign":` The process uses a signature identity managed by TRIDENT or an external application. At the start of the process, the user is not authenticated or prompted for authorization for their signature identities to be queried. Instead, both tasks are performed later if the user selects an eSigP signing identity schema.
    signing_information
| Information on the signing identity used by the process. This property is optional. It is only present if the user has already selected the signing identity with which they want to sign (for signing identities managed by TRIDENT, i.e., for an identity in a schema of the signature provider) or if they specified that they want to sign with a signing identity managed by an external application, i.e., with an identity of an external application schema.
    signing_information.labels
| Signing identity labels selected by the user where the signing identity is managed by TRIDENT. Alternatively, labels of the schema selected by the user where the schema is an external application schema.
    signing_information.sign_identity
| This property is optional. It is only present if the user selected a signing identity managed by TRIDENT.
    signing_information.sign_identity.id
| Identifier of the signing identity selected by the user and managed by TRIDENT.
    signing_information.sign_identity.url
| Access URL for the signing identity selected by the user and managed by TRIDENT.
`result` | Result of the signature process. Only finished signature processes have this property.
`result.status` | Final status of the signature process: `"finished"`: The process finished after all the documents were correctly signed. `"failed"`: The process finished but no document was signed owing to an error. `"failed_documents"`: The process finished. Some of the documents were signed, but not all. `"canceled"`: The process finished but no document was signed because the process was canceled.
`result.details.message` | This property is only present if the conditions in which the signature process finished and its value is the message with this information. It is often used so that an external signature method provides details on why a process ended with error.
`tasks` | Information provided by TRIDENT on the tasks making up the process. TRIDENT currently only informs on `pending` tasks, i.e., tasks that the client application must perform for the process to continue.
`tasks.pending[]` | Information on the tasks that the client application must perform for the signature process to continue. TRIDENT currently always indicates only one task that is always of the `"UserBrowserTask"` type.
`tasks.pending[].id` | Identifier of one of the tasks that the client application must perform.
`tasks.pending[].type` | Type of one of the tasks that the client application must perform. This property currently always has the value `"UserBrowserTask"`. This value identifies a type of task that consists in redirecting the user's browser to a specific URL.
`tasks.pending[].url` | This property is only present for `"UserBrowserTask"` type pending tasks and its value is the URL to which the client application must redirect the user's browser so this task can be performed.
`documents[]` | Information of the document and signature definitions resource associated to the signature process.
`documents[].url` | URL of one of the document and signature definitions resources.
`documents[].id` | Identifier of one of the document and signature definitions resources.
`documents[].content` | URL of the document that contains one of the document and signature definitions resources.
`documents[].result` | Result of the signature process for the document that contains one of the document and signature definitions resources. `"finished"`: The process finished and the document was successfully signed. `"failed"`: The process finished but the document was not signed because an error occurred. `"canceled"`: The process finished because it was canceled. The document wasn't signed.
`documents[].details.message` | Message that describes the error when the result of the signature process for the document that contains one of the document and signature definitions resources is `failed`.

# Operations

- Create a Document Signature Process

- Execute a Document Signature Process

- Obtain Information on Signed Documents

- Delete a Document Signature Process

- Obtain Information on a Document Signature Process

- Establish the Result of a Document Signature Process

- Obtain the Result of a Document Signature Process

- Establish the Result of a Document Signature in a Process