Skip to main content
PATCH
/
2022-06-09
/
collections
/
{collectionId}
/
templates
/
{templateId}
Edit Template
curl --request PATCH \
  --url https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/templates/{templateId} \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <api-key>' \
  --data '
{
  "metadata": {
    "name": "test",
    "imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png",
    "description": "A new collection with its own dedicated smart contract"
  }
}
'
import requests

url = "https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/templates/{templateId}"

payload = { "metadata": {
"name": "test",
"imageUrl": "https://www.crossmint.com/assets/crossmint/logo.png",
"description": "A new collection with its own dedicated smart contract"
} }
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}

response = requests.patch(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
metadata: {
name: 'test',
imageUrl: 'https://www.crossmint.com/assets/crossmint/logo.png',
description: 'A new collection with its own dedicated smart contract'
}
})
};

fetch('https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/templates/{templateId}', 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/2022-06-09/collections/{collectionId}/templates/{templateId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'metadata' => [
'name' => 'test',
'imageUrl' => 'https://www.crossmint.com/assets/crossmint/logo.png',
'description' => 'A new collection with its own dedicated smart contract'
]
]),
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/2022-06-09/collections/{collectionId}/templates/{templateId}"

payload := strings.NewReader("{\n \"metadata\": {\n \"name\": \"test\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\",\n \"description\": \"A new collection with its own dedicated smart contract\"\n }\n}")

req, _ := http.NewRequest("PATCH", 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.patch("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/templates/{templateId}")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"metadata\": {\n \"name\": \"test\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\",\n \"description\": \"A new collection with its own dedicated smart contract\"\n }\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://staging.crossmint.com/api/2022-06-09/collections/{collectionId}/templates/{templateId}")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"metadata\": {\n \"name\": \"test\",\n \"imageUrl\": \"https://www.crossmint.com/assets/crossmint/logo.png\",\n \"description\": \"A new collection with its own dedicated smart contract\"\n }\n}"

response = http.request(request)
puts response.read_body
{
  "error": true,
  "message": "Invalid arguments or empty parameter <missing parameter>."
}
{
"error": true,
"message": "Not found"
}
{
"error": true,
"message": "Please try again in a few minutes. If the issue still persists, contact Crossmint support."
}

Authorizations

X-API-KEY
string
header
required

Obtained in the Crossmint developer console

Path Parameters

collectionId
string
required

This is the identifier for the collection related to the request. Every project has default collections: default-solana and default-polygon.

The create-collection API will result in collections with UUID formatted collectionId. Example: 9c82ef99-617f-497d-9abb-fd355291681b

The create-collection-idempotent API allows you to specify an arbitrary identifier during the initial request. Example: your-custom-identifier

templateId
string
required

The template ID

Body

application/json
metadata
object

Response

Success