POST
/
v1
/
vc
/
issuer
/
credentials
/
proof
curl --request POST \
  --url https://staging.terminal3.io/v1/vc/issuer/credentials/proof \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-token: <x-api-token>' \
  --data '{
  "vcIdFields": {}
}'
{
  "data": {
    "holder": "<string>",
    "credentials": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "type": [
          "<string>"
        ],
        "context": [
          "<string>"
        ],
        "issuer": "<string>",
        "validFrom": "2023-11-07T05:31:56Z",
        "validUntil": "<string>",
        "credentialSubject": {},
        "proof": {
          "type": "<string>",
          "proofPurpose": "<string>",
          "verificationMethod": "<string>",
          "created": "2023-11-07T05:31:56Z",
          "proofValue": "<string>",
          "cryptosuite": "<string>"
        }
      }
    ]
  }
}

Issuers must collect fields from issued VCs to create a presentation. For instance, they can choose Date of Birth (date_of_birth) from VC A and Passport Verified (passport_verified) from VC B, as shown below:

JSON
{
  "vcIdFields": {
    "urn:uuid:c62c2ff7-934a-47ee-a680-f203197a4510": [
      "/credentialSubject/date_of_birth"
    ],
    "urn:uuid:fd0ea071-c8b0-4c8d-a561-aa6a3af5f99e": [
      "/credentialSubject/passport_verified"
    ]
  }
}
  • Selective disclosure works only with VC signed by BBS+ Signature.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-api-token
string
required
x-api-subclient-id
string

Body

application/json
vcIdFields
object
required

Response

200
application/json
Success
data
object
required