Изменить настройки категории
name/описание/оформление/скоупы/approval/archived. version++. key/поля — отдельно.
curl -X PATCH "https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/operation-categories/example_string" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer YOUR_API_TOKEN" \
-d '{
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"archived": true
}'
import requests
import json
url = "https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/operation-categories/example_string"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
}
data = {
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"archived": true
}
response = requests.patch(url, headers=headers, json=data)
print(response.json())
const response = await fetch("https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/operation-categories/example_string", {
method: "PATCH",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_TOKEN"
},
body: JSON.stringify({
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"archived": true
})
});
const data = await response.json();
console.log(data);
package main
import (
"fmt"
"net/http"
"bytes"
"encoding/json"
)
func main() {
data := []byte(`{
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"archived": true
}`)
req, err := http.NewRequest("PATCH", "https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/operation-categories/example_string", bytes.NewBuffer(data))
if err != nil {
panic(err)
}
req.Header.Set("Content-Type", "application/json")
req.Header.Set("Authorization", "Bearer YOUR_API_TOKEN")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
panic(err)
}
defer resp.Body.Close()
fmt.Println("Response Status:", resp.Status)
}
require 'net/http'
require 'json'
uri = URI('https://policy-engine-rest.ezig.workers.dev/api/v1/vaults/demo_vault/operation-categories/example_string')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(uri)
request['Content-Type'] = 'application/json'
request['Authorization'] = 'Bearer YOUR_API_TOKEN'
request.body = '{
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"archived": true
}'
response = http.request(request)
puts response.body
{
"id": "cmr3f41z20001psp7phmyapw3",
"vaultId": "example_string",
"key": "example_string",
"name": "John Doe",
"description": "example_string",
"emoji": "example_string",
"color": "example_string",
"appliesTo": "transfer",
"viewScope": "owner_only",
"assignScope": "owner_only",
"editScope": "owner_only",
"approvalScope": "none",
"approvalThreshold": 42,
"allowInitiatorApproval": true,
"isSystem": true,
"archived": true,
"version": 42,
"createdById": "example_string",
"updatedById": "example_string",
"createdAt": "2026-07-02T11:25:15.134Z",
"updatedAt": "2026-07-02T11:25:15.134Z",
"fields": [
{
"id": "cmr3f41z20001psp7phmyapw3",
"categoryId": "example_string",
"key": "example_string",
"label": "example_string",
"type": "text",
"required": true,
"optionsJson": [
{
"value": "example_string",
"label": "example_string"
}
],
"scale": 42,
"currencyFieldKey": "example_string",
"unit": "example_string",
"defaultJson": "null",
"helpText": "example_string",
"sensitive": true,
"orderIndex": 42,
"archived": true,
"createdAt": "2026-07-02T11:25:15.134Z",
"updatedAt": "2026-07-02T11:25:15.134Z"
}
],
"grants": [
{
"id": "cmr3f41z20001psp7phmyapw3",
"vaultId": "example_string",
"categoryId": "example_string",
"subjectType": "user",
"subjectUserId": "example_string",
"subjectGroupId": "example_string",
"canView": true,
"canAssign": true,
"canEdit": true,
"grantorId": "example_string",
"status": "example_string",
"createdAt": "2026-07-02T11:25:15.134Z"
}
],
"approvers": [
{
"id": "cmr3f41z20001psp7phmyapw3",
"categoryId": "example_string",
"kind": "user",
"userId": "example_string",
"groupId": "example_string",
"createdAt": "2026-07-02T11:25:15.134Z"
}
]
}
{
"error": "Bad Request",
"message": "The request contains invalid parameters or malformed data",
"code": 400,
"details": [
{
"field": "email",
"message": "Invalid email format"
}
]
}
{
"error": "Unauthorized",
"message": "Authentication required. Please provide a valid API token",
"code": 401
}
{
"error": "Not Found",
"message": "The requested resource was not found",
"code": 404
}
{
"error": "Internal Server Error",
"message": "An unexpected error occurred on the server",
"code": 500,
"requestId": "req_1234567890"
}
PATCH
/api/v1/vaults/{code}/operation-categories/{id}PATCH
Base URLstring
Target server for requests. Edit to use your own host.
Bearer Token
Bearer Tokenstring
Requiredbetter-auth session token. Мобилка/сервисы. Веб использует cookie.
better-auth session token. Мобилка/сервисы. Веб использует cookie.
API Key (cookie: better-auth.session_token)
better-auth.session_tokenstring
RequiredAPI key (sent in cookie)
path
codestring
RequiredУникальный код Vault'а (slug)
Content-Typestring
RequiredThe media type of the request body
Options: application/json
namestring
Min length: 1 • Max length: 200
appliesTostring
Options: transfer, deposit, both
viewScopestring
Options: owner_only, vault_members, restricted
assignScopestring
Options: owner_only, vault_members, restricted
editScopestring
Options: owner_only, vault_members, restricted
approvalScopestring
Options: none, edit, assign_and_edit
Request Preview
Response
Response will appear here after sending the request
Authentication
header
Authorizationstring
RequiredBearer token. better-auth session token. Мобилка/сервисы. Веб использует cookie.
path
parameterstring
RequiredAPI Key for authentication. Provide your API key in the cookie.
Path Parameters
Body
application/json
appliesTostring
Allowed values:
transferdepositbothviewScopestring
Allowed values:
owner_onlyvault_membersrestrictedassignScopestring
Allowed values:
owner_onlyvault_membersrestrictededitScopestring
Allowed values:
owner_onlyvault_membersrestrictedapprovalScopestring
Allowed values:
noneeditassign_and_editResponses
idstring
Requiredcuid
vaultIdstring
Requiredkeystring
Requirednamestring
Requireddescriptionstring
Requiredemojistring
Requiredcolorstring
RequiredappliesTostring
RequiredAllowed values:
transferdepositbothviewScopestring
RequiredAllowed values:
owner_onlyvault_membersrestrictedassignScopestring
RequiredAllowed values:
owner_onlyvault_membersrestrictededitScopestring
RequiredAllowed values:
owner_onlyvault_membersrestrictedapprovalScopestring
RequiredAllowed values:
noneeditassign_and_editapprovalThresholdstring
RequiredallowInitiatorApprovalboolean
RequiredisSystemboolean
Requiredarchivedboolean
Requiredversioninteger
RequiredcreatedByIdstring
RequiredupdatedByIdstring
RequiredcreatedAtstring
RequiredupdatedAtstring
Requiredfieldsarray
grantsarray
approversarray
Was this page helpful?