Edit an API token
curl --request PATCH \
--url https://app.orgo.space/api/v1/user-api-tokens/{id} \
--header 'Api-Token: <api-key>'import requests
url = "https://app.orgo.space/api/v1/user-api-tokens/{id}"
headers = {"Api-Token": "<api-key>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {'Api-Token': '<api-key>'}};
fetch('https://app.orgo.space/api/v1/user-api-tokens/{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://app.orgo.space/api/v1/user-api-tokens/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Api-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/user-api-tokens/{id}"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Api-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.orgo.space/api/v1/user-api-tokens/{id}")
.header("Api-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/user-api-tokens/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 42,
"name": "Boston Chapter",
"expiresAt": "2026-01-15T10:30:00+00:00",
"lastUsedAt": "2026-01-15T10:30:00+00:00",
"isActive": true,
"isReadOnly": true,
"scopes": [
"string"
],
"dateCreated": "2026-01-15T10:30:00+00:00"
}UserApiToken
Edit an API token
Updates name, expiresAt and the per-area scopes of an active token owned by the current admin. Scope changes take effect on the next request and are audited. The token secret is never changed or returned.
PATCH
/
api
/
v1
/
user-api-tokens
/
{id}
Edit an API token
curl --request PATCH \
--url https://app.orgo.space/api/v1/user-api-tokens/{id} \
--header 'Api-Token: <api-key>'import requests
url = "https://app.orgo.space/api/v1/user-api-tokens/{id}"
headers = {"Api-Token": "<api-key>"}
response = requests.patch(url, headers=headers)
print(response.text)const options = {method: 'PATCH', headers: {'Api-Token': '<api-key>'}};
fetch('https://app.orgo.space/api/v1/user-api-tokens/{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://app.orgo.space/api/v1/user-api-tokens/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_HTTPHEADER => [
"Api-Token: <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"
"net/http"
"io"
)
func main() {
url := "https://app.orgo.space/api/v1/user-api-tokens/{id}"
req, _ := http.NewRequest("PATCH", url, nil)
req.Header.Add("Api-Token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://app.orgo.space/api/v1/user-api-tokens/{id}")
.header("Api-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.orgo.space/api/v1/user-api-tokens/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Api-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 42,
"name": "Boston Chapter",
"expiresAt": "2026-01-15T10:30:00+00:00",
"lastUsedAt": "2026-01-15T10:30:00+00:00",
"isActive": true,
"isReadOnly": true,
"scopes": [
"string"
],
"dateCreated": "2026-01-15T10:30:00+00:00"
}Authorizations
ApiTokenJWT
Server-to-server authentication. Generate a token in the admin UI at
Settings → Developers → API Access. Send the raw token in the
Api-Token header — there is no Bearer prefix.
Tokens can be marked read-only at creation time, in which case the API
rejects any non-GET request with 403 Forbidden.
Path Parameters
UserApiToken identifier

