curl --request PATCH \
--url https://api.chainstack.com/v2/projects/{id}/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My updated project",
"description": "Updated description"
}
'import requests
url = "https://api.chainstack.com/v2/projects/{id}/"
payload = {
"name": "My updated project",
"description": "Updated description"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'My updated project', description: 'Updated description'})
};
fetch('https://api.chainstack.com/v2/projects/{id}/', 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://api.chainstack.com/v2/projects/{id}/",
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([
'name' => 'My updated project',
'description' => 'Updated description'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.chainstack.com/v2/projects/{id}/"
payload := strings.NewReader("{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.chainstack.com/v2/projects/{id}/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v2/projects/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"id": "PR-123-456-789",
"name": "My updated project",
"description": "Updated description",
"type": "public",
"members": 0,
"networks": 1,
"creator": {
"id": "UR-111-111-111",
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"organization": {
"id": "RG-123-456",
"name": "My organization"
}
},
"created_at": "2023-01-01T00:00:00.000000Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"fields": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Update a project with the Chainstack Platform API v2
Update the name or description of a project using the Chainstack Platform API v2. Send a PATCH request to /v2/projects// with the updated values.
curl --request PATCH \
--url https://api.chainstack.com/v2/projects/{id}/ \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "My updated project",
"description": "Updated description"
}
'import requests
url = "https://api.chainstack.com/v2/projects/{id}/"
payload = {
"name": "My updated project",
"description": "Updated description"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: 'My updated project', description: 'Updated description'})
};
fetch('https://api.chainstack.com/v2/projects/{id}/', 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://api.chainstack.com/v2/projects/{id}/",
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([
'name' => 'My updated project',
'description' => 'Updated description'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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://api.chainstack.com/v2/projects/{id}/"
payload := strings.NewReader("{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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://api.chainstack.com/v2/projects/{id}/")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.chainstack.com/v2/projects/{id}/")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"My updated project\",\n \"description\": \"Updated description\"\n}"
response = http.request(request)
puts response.read_body{
"id": "PR-123-456-789",
"name": "My updated project",
"description": "Updated description",
"type": "public",
"members": 0,
"networks": 1,
"creator": {
"id": "UR-111-111-111",
"email": "user@example.com",
"first_name": "John",
"last_name": "Smith",
"organization": {
"id": "RG-123-456",
"name": "My organization"
}
},
"created_at": "2023-01-01T00:00:00.000000Z"
}{
"error": {
"code": "<string>",
"message": "<string>",
"fields": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>"
}
}Authorizations
Chainstack API uses API keys to authenticate requests. You can view and manage your API keys in the platform UI.
Your API keys carry many privileges, so be sure to keep them secure!
Provide your API key as the Authorization header. The value of the header consists of Bearer prefix and secret key generated through the platform UI.
curl -X GET 'https://api.chainstack.com/v1/organization/' \
--header 'Authorization: Bearer FX7CWlLg.FMpAO8cgCX2N7s41EncRru2nb5CmTZUt'
All API requests must be made over HTTPS.
Path Parameters
A unique value identifying the Object.
Body
Response
Name of the project.
Description of the project.
Type of the project.
publicfor public chain project
public Number of members invited to the consortium project.
Only for the consortium project.
Number of networks created in the project.
Creator of the project.
Show child attributes
Show child attributes
When the project was created.
Was this page helpful?