curl --request PATCH \
--url https://api.scrip.dev/v1/assets/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"max_transaction_amount": "10000.00",
"name": "Updated Asset Name",
"status": "ARCHIVED"
}
'import requests
url = "https://api.scrip.dev/v1/assets/{id}"
payload = {
"max_transaction_amount": "10000.00",
"name": "Updated Asset Name",
"status": "ARCHIVED"
}
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({
max_transaction_amount: '10000.00',
name: 'Updated Asset Name',
status: 'ARCHIVED'
})
};
fetch('https://api.scrip.dev/v1/assets/{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.scrip.dev/v1/assets/{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([
'max_transaction_amount' => '10000.00',
'name' => 'Updated Asset Name',
'status' => 'ARCHIVED'
]),
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://api.scrip.dev/v1/assets/{id}"
payload := strings.NewReader("{\n \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\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://api.scrip.dev/v1/assets/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scrip.dev/v1/assets/{id}")
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 \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2024-01-15T10:30:00Z",
"deleted_at": "2024-06-01T00:00:00Z",
"id": "550e8400-e29b-41d4-a716-446655440000",
"inventory_mode": "SIMPLE",
"issuance_policy": "UNLIMITED",
"max_transaction_amount": "10000.00",
"name": "Bonus Points",
"program_ids": [
"550e8400-e29b-41d4-a716-446655440001"
],
"scale": 2,
"status": "ACTIVE",
"symbol": "PTS",
"updated_at": "2024-01-15T10:30:00Z"
}{
"code": "bad_request",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Invalid request parameters"
}{
"code": "unauthorized",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Missing or invalid credentials"
}{
"code": "forbidden",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Insufficient permissions for this action"
}{
"code": "not_found",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Resource not found"
}{
"code": "unsupported_media_type",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Content-Type must be application/json"
}{
"code": "internal_error",
"message": "An internal error occurred"
}Update an asset
Update an asset’s name, status, or maximum transaction amount.
curl --request PATCH \
--url https://api.scrip.dev/v1/assets/{id} \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"max_transaction_amount": "10000.00",
"name": "Updated Asset Name",
"status": "ARCHIVED"
}
'import requests
url = "https://api.scrip.dev/v1/assets/{id}"
payload = {
"max_transaction_amount": "10000.00",
"name": "Updated Asset Name",
"status": "ARCHIVED"
}
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({
max_transaction_amount: '10000.00',
name: 'Updated Asset Name',
status: 'ARCHIVED'
})
};
fetch('https://api.scrip.dev/v1/assets/{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.scrip.dev/v1/assets/{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([
'max_transaction_amount' => '10000.00',
'name' => 'Updated Asset Name',
'status' => 'ARCHIVED'
]),
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://api.scrip.dev/v1/assets/{id}"
payload := strings.NewReader("{\n \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\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://api.scrip.dev/v1/assets/{id}")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.scrip.dev/v1/assets/{id}")
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 \"max_transaction_amount\": \"10000.00\",\n \"name\": \"Updated Asset Name\",\n \"status\": \"ARCHIVED\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2024-01-15T10:30:00Z",
"deleted_at": "2024-06-01T00:00:00Z",
"id": "550e8400-e29b-41d4-a716-446655440000",
"inventory_mode": "SIMPLE",
"issuance_policy": "UNLIMITED",
"max_transaction_amount": "10000.00",
"name": "Bonus Points",
"program_ids": [
"550e8400-e29b-41d4-a716-446655440001"
],
"scale": 2,
"status": "ACTIVE",
"symbol": "PTS",
"updated_at": "2024-01-15T10:30:00Z"
}{
"code": "bad_request",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Invalid request parameters"
}{
"code": "unauthorized",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Missing or invalid credentials"
}{
"code": "forbidden",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Insufficient permissions for this action"
}{
"code": "not_found",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Resource not found"
}{
"code": "unsupported_media_type",
"details": {
"expected": "<string>",
"field": "<string>",
"fields": [
{
"expected": "<unknown>",
"field": "<string>",
"message": "This field is required",
"reason": "required",
"received": "<string>"
}
],
"reason": "invalid",
"received": "<string>"
},
"message": "Content-Type must be application/json"
}{
"code": "internal_error",
"message": "An internal error occurred"
}name or status. Only include the fields you want to change; omitted fields are left unchanged.
Set status to ARCHIVED to permanently retire an asset. Archived assets stop accepting new ledger entries but preserve all historical data. This cannot be reversed.
The inventory_mode, issuance_policy, and scale fields cannot be modified because they govern ledger behavior. If you need different settings, create a new asset.
Authorizations
API key passed in the X-API-Key header.
Path Parameters
Asset ID
Body
Fields to update
Optional per-transaction ceiling. Positive decimal string to set, null to clear. Omit to leave unchanged
"10000.00"
Asset name
1 - 255"Updated Asset Name"
Set to ARCHIVED to permanently retire this asset. Cannot be reversed
ARCHIVED "ARCHIVED"
Response
Updated asset
When the asset was created
"2024-01-15T10:30:00Z"
Set when the asset is archived
"2024-06-01T00:00:00Z"
Asset ID
"550e8400-e29b-41d4-a716-446655440000"
How balances are tracked
"SIMPLE"
How value is issued
"UNLIMITED"
Optional per-transaction ceiling. Null means no limit
"10000.00"
Asset name
"Bonus Points"
Programs this asset is linked to
["550e8400-e29b-41d4-a716-446655440001"]
Decimal precision
2
Lifecycle state
"ACTIVE"
Short code for this asset
"PTS"
When the asset was last modified
"2024-01-15T10:30:00Z"