curl --request PATCH \
--url https://flows.super.ai/api/service-accounts/{service_account_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"description": "Updated service account description",
"name": "Updated API Documentation"
}
'import requests
url = "https://flows.super.ai/api/service-accounts/{service_account_id}"
payload = {
"description": "Updated service account description",
"name": "Updated API Documentation"
}
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>",
"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>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
description: 'Updated service account description',
name: 'Updated API Documentation'
})
};
fetch('https://flows.super.ai/api/service-accounts/{service_account_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://flows.super.ai/api/service-accounts/{service_account_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([
'description' => 'Updated service account description',
'name' => 'Updated API Documentation'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://flows.super.ai/api/service-accounts/{service_account_id}"
payload := strings.NewReader("{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://flows.super.ai/api/service-accounts/{service_account_id}")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/service-accounts/{service_account_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["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modified_by": "<string>",
"name": "API Documentation",
"status": "active",
"updated_at": "2023-11-07T05:31:56Z",
"description": "Service account for API documentation generation",
"organization_id": "550e8400-e29b-41d4-a716-446655440000"
}Update a service account
Update a service account.
Updates name and/or description of a service account. Status updates should use activate/deactivate endpoints.
Context:
- Can update name and description
- Cannot update token (use delete + create for new token)
- Cannot update status (use activate/deactivate endpoints)
Related Endpoints:
- POST /service-accounts//activate - Activate account
- POST /service-accounts//deactivate - Deactivate account
curl --request PATCH \
--url https://flows.super.ai/api/service-accounts/{service_account_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"description": "Updated service account description",
"name": "Updated API Documentation"
}
'import requests
url = "https://flows.super.ai/api/service-accounts/{service_account_id}"
payload = {
"description": "Updated service account description",
"name": "Updated API Documentation"
}
headers = {
"X-API-Key": "<api-key>",
"Authorization": "Bearer <token>",
"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>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
description: 'Updated service account description',
name: 'Updated API Documentation'
})
};
fetch('https://flows.super.ai/api/service-accounts/{service_account_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://flows.super.ai/api/service-accounts/{service_account_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([
'description' => 'Updated service account description',
'name' => 'Updated API Documentation'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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://flows.super.ai/api/service-accounts/{service_account_id}"
payload := strings.NewReader("{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
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://flows.super.ai/api/service-accounts/{service_account_id}")
.header("X-API-Key", "<api-key>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://flows.super.ai/api/service-accounts/{service_account_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["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Updated service account description\",\n \"name\": \"Updated API Documentation\"\n}"
response = http.request(request)
puts response.read_body{
"created_at": "2023-11-07T05:31:56Z",
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"modified_by": "<string>",
"name": "API Documentation",
"status": "active",
"updated_at": "2023-11-07T05:31:56Z",
"description": "Service account for API documentation generation",
"organization_id": "550e8400-e29b-41d4-a716-446655440000"
}Authorizations
API key authentication. Include your API key in the X-API-Key header as: X-API-Key YOUR_API_KEY
Example:
X-API-Key: saf_1234567890
JWT Bearer token authentication. Include your access token in the Authorization header as: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Path Parameters
UUID of the service account to update
Body
Response
Service account updated successfully
Response model for service account operations.
Human-readable name for this service account. Examples: 'API Documentation', 'Temporal Worker'.
255"API Documentation"
Current status of the service account. Valid values: 'active', 'inactive'. Only active accounts can authenticate.
"active"
Optional description explaining the purpose and usage of this account.
"Service account for API documentation generation"
UUID of the organization this account belongs to. NULL for system accounts.
"550e8400-e29b-41d4-a716-446655440000"