# Obtain the Result of a Signature Creation Process

# Alias

`SignatureResultReading`

# Description

Obtains the result of a signature process.

# Request

`GET /trustedx-resources/esigp/v1/signatures/{signature_id}/result`

## Parameters

Name | Type | Usage | Description
`signature_id` | path | Required | Identifier of the signature creation process whose result you want.

## Authorization

The request must contain a bearer access token generated by a trusted authorization server of the service from which the result of the signature process is requested and that is associated to the domain of the signing identity used for performing the process. This token must have a scope that includes the `urn:safelayer:eidas:sign:identity:use:device` values and must be used as explained in RFC 6750. Basically, the token must be included in an HTTP `Authorization` header as follows:

`Authorization: Bearer <token>`

The access token must be obtained via an authorization code grant OAuth 2.0 flow.

## Example

`GET /trustedx-resources/esigp/v1/signatures/123-1234567/result HTTP/1.1`
`Authorization: Bearer mF_9.B5f-4.1JqM`

# Response

## Status-Line

Value | Description
`HTTP/1.1 200 OK` | The signature creation process has finished.
`HTTP/1.1 404 Not Found` | The signature creation process has not finished.
`HTTP/1.1 410 Gone` | The signature creation process was not found.

See HTTP Response Status for all the possible cases.

## Body

If the signature process finished, it contains the JSON representation of the `result` sub-resource of this process. I.e., it contains a JSON object with the following structure:

`{`
`"status" : {string},`
`"value" : {string},`
`"signature_algorithm" : {string},`
`"sign_identity" : {string},`
`"device_type" : {`
`"id" : {string},`
`"notifications_service_id" : {string},`
`"wakeup_uri_scheme" : {string},`
`"verification_policy" : {string},`
`"application" : {`
`"id" : {string},`
`"version" : {string}`
`},`
`"server_configuration" : {...}`
`}`
`}`

Property | Description
`status` | Status of the finalized signature creation process (`finished`, `failed` or `canceled`): `finished`: The process has finalized after having successfully created the signature. `failed`: The process has terminated without being able to create the signature because an error occurred. `canceled`: The process terminated without a signature having been created because it was canceled.
`value` | This property is optional and contains the value returned by the signature creation process. This value depends on the final status of the process: If the process ended with the `finished` status: the signature created encoded in base64. If the process ended with the `failed` status: information on the error that occurred (there may not be any information). If the process ended with the `canceled` status: information on the cancellation that occurred (there may not be any information).
`signature_algorithm` | Signature algorithm used in the process (`rsa-sha1`, `rsa-sha256`, `rsa-sha384`, `rsa-sha512`,`ecdsa-sha1`,`ecdsa-sha256`,`ecdsa-sha384` and`ecdsa-sha512`).
`sign_identity` | Signing identity used (applied) in the process.
`device_type` | Information on the type of device used in the process. This property only exists in signature creation processes that end successfully (`finished`).
`device_type.id` | Identifier of the device type.
`device_type.notifications_service_id` | Identifier of the notification service used by this type of device.
`device_type.wakeup_uri_scheme` | URL scheme that opens the signature application (Mobile ID) in this type of device.
`device_type.verification_policy` | Identifier of the verification policy used to validate the authentication signatures and transactions created with this type of device.
`device_type.application` | Information on the signature application (Mobile ID) installed in this type of device.
`device_type.application.id` | Identifier on the signature application (Mobile ID) installed in this type of device.
`device_type.application.version` | Version on the signature application (Mobile ID) installed in this type of device.
`device_type.server_configuration` | Additional configuration of this type of device registered in the server.