Tutorial Purpose

This is a tutorial to help you learn the IBM Verify Credential Agency Account APIs.

You will learn how to manage agents, establish relationships, issue and verify credentials, and more.

Terms and Resources

For the sake of brevity, an IBM Verify Credential Agency Account will be referred to simply as an account.

Swagger is a specification for documenting REST API. It specifies the format (URL, method, and representation) to describe REST web services. The latest Swagger documentation for the account APIs is available here.

Tutorial Approach

This tutorial will help you learn the basic concepts necessary for working with cloud agents.

You will begin by creating an account. Your account may contain multiple cloud agents.

Each cloud agent, or just agent for short, manages a single wallet which contains cryptographic material associated with a single identity (e.g. a person, organization, thing, etc).

As a normal end user, you may typically only need a single cloud agent; however, as a developer, you may want to create multiple cloud agents.

The Managing Cloud Agents section describes how to create, update, list, and delete agents.

Creating a connection between two agents logically establishes a relationship between the two identities associated with the agents. A connection allows the agents to communicate securely. The Connection Management section describes how to manage connections between agents. Connections may exist between agents in the same or in different accounts.

Once two agents are connected, the two most common interactions are issuance and verification.

  1. Issuance

    One agent issues a credential to another agent.

    For example, an agent associated with a DMV may issue a credential (i.e. your digital driver's license) to your agent.

    In order for an agent to issue credentials, it must first perform issuer initialization.

    The issuance section describes how to issue credentials.

  2. Verification

    One agent verifies credentials from another agent.

    For example, an agent associated with a car rental agency verifies that you are at least 25 years old according to the DMV credential that is in the wallet of your agent. This verification process uses zero-knowledge proof technology to minimize what one agent is required to share with another.

    In order for an agent to verify credentials, it must first perform verifier initialization.

    The verification section describes how to perform verification.

In this tutorial, you will create three agents named user1, issuer1, and verifier1. You will use the curl command to interact with these agents in order to perform issuance, verification, and more.

Before you begin, you must setup your development environment.