The Qredo API and Partner API are being deprecated and will be replaced by a breaking change in Q4. To receive updates about the release, register here.
Qredo Logo

Signing Agent

Deploy

TL;DR

  • Register Signing Agent with the Partner API via the self-serve API

Ensure that you have everything you need to hand:

  • Qredo account with supporting Partner API keys enabled
    • Access to active API key
    • Access to private key
  • Customized Signing Agent config.yaml file set up
  • Docker volume and container running

Encode your API key

Generate a Base64 representation of your private.pem key:

  • e.g. for a Mac: base64 -i private.pem

Copy your Base64-encoded token to the clipboard or a text file. You are going to use it as a part of the payload data on the registration endpoint when making the API call to the Signing Agent service.

Never run the service directly connected to the internet. All external requests to the API endpoints exposed by the Signing Agent should be done through a reverse proxy service (e.g. Nginx or HAProxy) and over TLS.

Verify your deployment

There are currently three healthcheck endpoints available that allow you to verify that your deployment is successful.

The version healthcheck endpoint expects a GET request, and it responds with an HTTP 200 status code and a JSON payload containing the current build information:

{
    "buildVersion": "101c354",
    "buildType": "dev",
    "buildDate": "Fri Oct 7 12:53:12 UTC 2022"
}

Register your Signing Agent

Note, the Docker volume provides a self-serve Rest API service that registers your Signing Agent with Partner API. Call /register, substituting your URL for the Signing Agent service.

Example request

For the following example, we assume the Signing Agent service is running at http://localhost:8007. You should supply your address and port of the signing service you started with the Docker image.

curl -X 'POST' \
  'http://localhost:8007/api/v1/register' \
  -H 'Content-Type: application/json' \
  -d '{
        "name": "Test Agent",
        "APIKey": "Partner APIKey from the WebApp",
        "base64PrivateKey": "token from the clipboard"
}'

Example response

{
    "agentID":"EXAMpl31DbS7SgE21Ht5xRHFWRbcrH9AMZHgsoUd2gpp",
    "feedURL":"ws://localhost:8007/api/v1/client/feed"
}

Retain your agentID, you will need this later.

Previous
Docker