Create Credential template
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/credentials/templates/ \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"metadata": {
"name": "Verifiable Credential",
"description": "The owner of this credential is authorized.",
"imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png"
},
"credentials": {
"type": "crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate",
"delegatedStorageEndpoint": "unknown",
"delegatedSignature": "undefined"
}
}
'import requests
url = "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/"
payload = {
"metadata": {
"name": "Verifiable Credential",
"description": "The owner of this credential is authorized.",
"imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png"
},
"credentials": {
"type": "crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate",
"delegatedStorageEndpoint": "unknown",
"delegatedSignature": "undefined"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
name: 'Verifiable Credential',
description: 'The owner of this credential is authorized.',
imageUrl: 'https://www.crossmint.com/assets/crossmint/logo.png'
},
credentials: {
type: 'crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate',
delegatedStorageEndpoint: 'unknown',
delegatedSignature: 'undefined'
}
})
};
fetch('https://staging.crossmint.com/api/v1-alpha1/credentials/templates/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'name' => 'Verifiable Credential',
'description' => 'The owner of this credential is authorized.',
'imageUrl' => 'https://www.crossmint.com/assets/crossmint/logo.png'
],
'credentials' => [
'type' => 'crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate',
'delegatedStorageEndpoint' => 'unknown',
'delegatedSignature' => 'undefined'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/"
payload := strings.NewReader("{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://staging.crossmint.com/api/v1-alpha1/credentials/templates/")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1-alpha1/credentials/templates/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}"
response = http.request(request)
puts response.read_body"Success. Refer to the standard nft create collection response for more details."Verifiable Credentials
Create Credential template
Create a template, similar to an NFT collection, for issuing verifiable credentials.
API scope required credentials:template.create
POST
/
v1-alpha1
/
credentials
/
templates
/
Create Credential template
curl --request POST \
--url https://staging.crossmint.com/api/v1-alpha1/credentials/templates/ \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"metadata": {
"name": "Verifiable Credential",
"description": "The owner of this credential is authorized.",
"imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png"
},
"credentials": {
"type": "crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate",
"delegatedStorageEndpoint": "unknown",
"delegatedSignature": "undefined"
}
}
'import requests
url = "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/"
payload = {
"metadata": {
"name": "Verifiable Credential",
"description": "The owner of this credential is authorized.",
"imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png"
},
"credentials": {
"type": "crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate",
"delegatedStorageEndpoint": "unknown",
"delegatedSignature": "undefined"
}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
name: 'Verifiable Credential',
description: 'The owner of this credential is authorized.',
imageUrl: 'https://www.crossmint.com/assets/crossmint/logo.png'
},
credentials: {
type: 'crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate',
delegatedStorageEndpoint: 'unknown',
delegatedSignature: 'undefined'
}
})
};
fetch('https://staging.crossmint.com/api/v1-alpha1/credentials/templates/', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'name' => 'Verifiable Credential',
'description' => 'The owner of this credential is authorized.',
'imageUrl' => 'https://www.crossmint.com/assets/crossmint/logo.png'
],
'credentials' => [
'type' => 'crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate',
'delegatedStorageEndpoint' => 'unknown',
'delegatedSignature' => 'undefined'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://staging.crossmint.com/api/v1-alpha1/credentials/templates/"
payload := strings.NewReader("{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://staging.crossmint.com/api/v1-alpha1/credentials/templates/")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://staging.crossmint.com/api/v1-alpha1/credentials/templates/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"name\": \"Verifiable Credential\",\n \"description\": \"The owner of this credential is authorized.\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\"\n },\n \"credentials\": {\n \"type\": \"crossmint:5fe6040e-07a1-48bb-97a3-b588a7e927d2:CourseCompletionCertificate\",\n \"delegatedStorageEndpoint\": \"unknown\",\n \"delegatedSignature\": \"undefined\"\n }\n}"
response = http.request(request)
puts response.read_body"Success. Refer to the standard nft create collection response for more details."This is an alpha API and subject to change.
Authorizations
Key obtained from the Crossmint developer console, reflecting the API scope granted.
Body
application/json
Response
Success. Refer to the standard create collection response for more details.
The response is of type string.
Example:
"Success. Refer to the standard nft create collection response for more details."
Was this page helpful?
⌘I

