Update tenant settings
const url = 'https://api.neuramancer.dev/v1/tenant';const options = { method: 'PUT', headers: {Authorization: '<Authorization>', 'Content-Type': 'application/json'}, body: '{"tenantName":"example","name":"example","storageType":"azure","storageConfig":{"s3":{"endpoint":"example","port":1,"useSSL":true,"bucketName":"example","region":"example","accessKeyId":"example","secretAccessKey":"example","presignedUrlExpirySeconds":1,"corsAllowedOrigins":["https://example.com"]},"azure":{"containerName":"example","connectionString":"example"}},"webhookUrl":"example"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PUT \ --url https://api.neuramancer.dev/v1/tenant \ --header 'Authorization: <Authorization>' \ --header 'Content-Type: application/json' \ --data '{ "tenantName": "example", "name": "example", "storageType": "azure", "storageConfig": { "s3": { "endpoint": "example", "port": 1, "useSSL": true, "bucketName": "example", "region": "example", "accessKeyId": "example", "secretAccessKey": "example", "presignedUrlExpirySeconds": 1, "corsAllowedOrigins": [ "https://example.com" ] }, "azure": { "containerName": "example", "connectionString": "example" } }, "webhookUrl": "example" }'Updates tenant configuration. Requires authentication with settings scope for users, or API key belonging to the tenant. Note: apiKeys, analytics, and id fields are read-only and cannot be updated via this endpoint.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Request to update tenant settings. Note: apiKeys, analytics, isTrial, and id fields are read-only and cannot be updated via this endpoint.
object
Tenant name (required to identify the tenant to update)
New tenant name
Storage backend type
Storage configuration
object
object
Presign URL expiry time in seconds, default: 7 days
List of allowed CORS origins for browser-based uploads to S3 presigned URLs (e.g. [“https://app.example.com”, “http://localhost:4321”]). Applied to the bucket on tenant update and on first presigned URL creation. Defaults to [“https://app.neuramancer.dev”, “https://app.neuramancer.de”, “http://app.neuramancer.localhost”, “https://app.neuramancer.localhost”] when not set.
object
Optional webhook URL to call for analysis status updates
Responses
Section titled “Responses”Tenant updated successfully
object
Tenant ID (ObjectId string)
Tenant name
Tenant creation timestamp
List of API keys for this tenant (secrets are masked after first read)
object
Human-readable name for the API key
Unique identifier for the API key
Creation timestamp
Expiration timestamp
API key secret (masked, not the actual secret after first read)
Storage backend type
Storage configuration (optional, defaults to Neuramancer storage if not set)
object
object
Presign URL expiry time in seconds, default: 7 days
List of allowed CORS origins for browser-based uploads to S3 presigned URLs (e.g. [“https://app.example.com”, “http://localhost:4321”]). Applied to the bucket on tenant update and on first presigned URL creation. Defaults to [“https://app.neuramancer.dev”, “https://app.neuramancer.de”, “http://app.neuramancer.localhost”, “https://app.neuramancer.localhost”] when not set.
object
Optional webhook URL to call for analysis status updates
System-managed trial flag. When true, only approved trial images (real.jpg, fake.jpg) can be analyzed. Cannot be changed via API.
Example
{ "storageType": "azure"}Missing required parameter: tenantName
Standardized error response following the APIResponse
object
Example
{ "success": false, "message": "Bad request"}Unauthorized - user lacks settings scope or API key does not belong to tenant
Standardized error response following the APIResponse
object
Example
{ "success": false, "message": "Bad request"}Tenant not found
Standardized error response following the APIResponse
object
Example
{ "success": false, "message": "Bad request"}Server error
Standardized error response following the APIResponse
object
Example
{ "success": false, "message": "Bad request"}