POST
/
v1
/
vc
/
issuer
/
store
curl --request POST \
  --url https://staging.terminal3.io/v1/vc/issuer/store \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --header 'x-api-token: <x-api-token>' \
  --data '{
  "vc": {
    "@context": [
      "<string>"
    ],
    "type": [
      "<string>"
    ],
    "issuer": "<string>",
    "validFrom": "<string>",
    "validUntil": "<string>",
    "credentialSubject": {
      "id": "<string>"
    },
    "id": "<string>",
    "credentialStatus": {
      "type": "<string>",
      "chain_id": "<string>",
      "revocation_registry_contract_address": "<string>",
      "did_registry_contract_address": "<string>"
    },
    "proof": {
      "type": "<string>",
      "proofPurpose": "<string>",
      "verificationMethod": "<string>",
      "created": "<string>",
      "proofValue": "<string>",
      "mandatoryPointers": [
        "<string>"
      ],
      "cryptosuite": "<string>",
      "@context": [
        "<string>"
      ]
    }
  }
}'
{
  "data": {
    "cid": "<string>",
    "vc": {
      "@context": [
        "<string>"
      ],
      "id": "<string>",
      "issuer": "<string>",
      "credentialSubject": {
        "id": "<string>"
      },
      "type": [
        "<string>"
      ],
      "validFrom": "<string>",
      "validUntil": "<string>",
      "credentialStatus": "<any>",
      "proof": {
        "type": "<string>",
        "proofPurpose": "<string>",
        "verificationMethod": "<string>",
        "created": "<string>",
        "mandatoryPointers": [
          "<string>"
        ],
        "cryptosuite": "<string>",
        "@context": [
          "<string>"
        ],
        "proofValue": "<string>"
      }
    }
  }
}

This API takes the signed verifiable credential from the issuer and securely saves it in decentralized storage.

E.g of a Signed Credential:

{
  "@context": ["https://www.w3.org/ns/credentials/v2"],
  "type": ["VerifiableCredential", "KycCredential"],
  "issuer": "did:key:zUC7DKqU1K98wCzNx6H3xHGoFoSYrxYZ4WmUj8UKq4HUAcA651HVrM7Qr7kgSNbnVcBSgQZQZtTMLDm2obKq2ByZDqjKowSqQzaNHgDGEox7vWRRyioRuLd1KRuhqBr4o7LkqH7",
  "validFrom": "2024-08-22T07:20:41.980Z",
  "validUntil": "",
  "credentialSubject": {
    "id": "did:ethr:0x845694df12ef67e1769d0c19929bc5703638c39a",
    "date_of_birth": "16-02-1995",
    "location": "HK",
    "first_name": "T",
    "last_name": "Jason"
  },
  "id": "urn:uuid:1664f8c1-51d5-49c1-b05a-ed23a8a161f3",
  "proof": {
    "type": "DataIntegrityProof",
    "cryptosuite": "bbs-2023",
    "created": "2024-08-22T07:20:41.983Z",
    "verificationMethod": "did:key:zUC7DKqU1K98wCzNx6H3xHGoFoSYrxYZ4WmUj8UKq4HUAcA651HVrM7Qr7kgSNbnVcBSgQZQZtTMLDm2obKq2ByZDqjKowSqQzaNHgDGEox7vWRRyioRuLd1KRuhqBr4o7LkqH7",
    "proofPurpose": "assertionMethod",
    "proofValue": "2V0ChVhwq63Y00Fn7u7GRAoFhfw3l1K-mkp1egLJSIBfCKUPllu9NuzXPxEuo8KqXydwAGPVYUHlKfzccE4m7waZyoLEkBLFiK2g54Q2i-CdtYBgDdkUDsoULSBMcH1MwGHwdjfXpldFNFrHFx_IAvLVniyeMVhA8oJwmDJq7Xl1A-LnFTu8mcuDnN8XEUTtghrfT1s2DNUUIjcG9wp82-OqrrRKQe8hdQASAWuW7r9N9FHnLIlK7Fhgo_tmeNMg3AFxjzQmM1mgdinuvGKu9OqgkwWJNRjHeRane2QoiCU3YriPVRkxTJppE_kRB1amlg63fh39OlBFgAV6fuUwGuy1vGWnfXId8NgkZBH3PdF4kme-tzYOjs0OWCDmfdYtVqE6rJWYr7ge7AIf9nNQ3jNdoJvSpPCAT0UszYpJL0Bjb250ZXh0Qy9pZEcvaXNzdWVyRS90eXBlSi92YWxpZEZyb21LL3ZhbGlkVW50aWxYIC9jcmVkZW50aWFsU3ViamVjdC9kYXRlX29mX2JpcnRoWBsvY3JlZGVudGlhbFN1YmplY3QvbG9jYXRpb25YHS9jcmVkZW50aWFsU3ViamVjdC9maXJzdF9uYW1lWBwvY3JlZGVudGlhbFN1YmplY3QvbGFzdF9uYW1l"
  }
}

Please refer to our VC SDK for more details on how to issue verifiable credentials.

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
vc
object
required

Response

200
application/json
Success
data
object
required