API Reference
Wallets
- POSTCreate Wallet
- GETGet Wallet By Locator
- GETGet Wallet Balance
- POSTFund Wallet
- GETGet NFTs from Wallet
- POSTCreate Transaction
- GETGet Transaction
- GETGet Wallet Transactions
- POSTApprove Transaction
- POSTCreate Signature
- GETGet All Signatures
- GETGet Signature
- POSTApprove Signature
- POSTRegister Delegated Signer
- GETGet Delegated Signer
- POSTTransfer Token
NFTs
IP
NFT Collections
NFT Templates
Verifiable Credentials
Verifiable Credential Types
Headless Checkout
Action Status
Admin
Verifiable Credentials
Verify Credential
Verify that a verifiable credential is valid.
API scope required credentials.read
POST
/
v1-alpha1
/
credentials
/
verification
/
verify
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/credentials/verification/verify \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"credential": {}
}'
{
"isValid": true,
"error": null
}
This is an alpha API and subject to change.
It is impractical to use the API Playground to verify a credential. Instead you can copy the sample code for your preferred language in the righthand sidebar and fill in the JSON of the credential you intend to verify.
Here is an example of how to verify a credential using javascript:
verifyVC.js
const options = {
method: "POST",
headers: {
"X-API-KEY": "YOUR_API_KEY",
"Content-Type": "application/json",
},
body: '{"credential": {"id":"urn:uuid:e31316b6-3be1-49af-a95f-c7f4c3f52aa1","credentialSubject":{"course":"Blockchain 101","passed":true,"id":"did:polygon:0x6C3b3225759Cbda68F96378A9F0277B4374f9F06"},"expirationDate":"2034-02-03","nft":{"tokenId":"1","chain":"polygon","contractAddress":"0xdC444A3F4768185497Dae6250E2F348b99bE89F3"},"issuer":{"id":"did:polygon:0xa22CaDEdE67c11dc1444E507fDdd9b831a67aBd1"},"type":["VerifiableCredential","65c15243e9bee8deac219d57"],"issuanceDate":"2024-02-05T23:21:32.641Z","@context":["https://www.w3.org/2018/credentials/v1","https://github.com/haardikk21/ethereum-eip712-signature-2021-spec/blob/main/index.html","DUMMY_CROSSMINT/65c15243e9bee8deac219d57"],"proof":{"verificationMethod":"did:polygon:0xa22CaDEdE67c11dc1444E507fDdd9b831a67aBd1#ethereumAddress","ethereumAddress":null,"created":"2024-02-05T23:22:24.058Z","proofPurpose":"assertionMethod","type":"EthereumEip712Signature2021","proofValue":"0x748a55d9770cbc6ef16689f0d9547355e288bcce03a8949a32d2aac59244cb9e08cbf54c960bc00d133fc51e6651a4ac1366aeda320dd121777118a4e74980631b","eip712":{"domain":{"name":"Krebit","version":"0.1","chainId":4,"verifyingContract":"0xD8393a735e8b7B6E199db9A537cf27C61Aa74954"},"types":{"VerifiableCredential":[{"name":"@context","type":"string[]"},{"name":"type","type":"string[]"},{"name":"id","type":"string"},{"name":"issuer","type":"Issuer"},{"name":"credentialSubject","type":"CredentialSubject"},{"name":"issuanceDate","type":"string"},{"name":"expirationDate","type":"string"},{"name":"nft","type":"Nft"}],"CredentialSubject":[{"name":"id","type":"string"},{"name":"course","type":"string"},{"name":"passed","type":"bool"}],"Issuer":[{"name":"id","type":"string"}],"Nft":[{"name":"tokenId","type":"string"},{"name":"contractAddress","type":"string"},{"name":"chain","type":"string"}]},"primaryType":"VerifiableCredential"}}}}',
};
// note the gigantic VC JSON string in the body property
fetch("https://staging.crossmint.com/api/v1-alpha1/credentials/verification/verify", options)
.then((response) => response.json())
.then((response) => console.log(response))
.catch((err) => console.error(err));
{
"isValid": true,
"error": null
}
Authorizations
Key obtained from the Crossmint developer console, reflecting the API scope granted.
Body
application/json
Response
200
application/json
Success.
The response is of type object
.
Was this page helpful?
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/credentials/verification/verify \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '{
"credential": {}
}'
{
"isValid": true,
"error": null
}
Assistant
Responses are generated using AI and may contain mistakes.