Skip to content

Update tenant settings

PUT
/v1/tenant
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.

Media typeapplication/json

Request to update tenant settings. Note: apiKeys, analytics, isTrial, and id fields are read-only and cannot be updated via this endpoint.

object
tenantName
required

Tenant name (required to identify the tenant to update)

string
name

New tenant name

string
storageType

Storage backend type

string
Allowed values: azure s3
storageConfig

Storage configuration

object
s3
object
endpoint
required
string
port
required
integer
useSSL
required
boolean
bucketName
required
string
region
required
string
accessKeyId
required
string
secretAccessKey
required
string
presignedUrlExpirySeconds

Presign URL expiry time in seconds, default: 7 days

integer
>= 600
corsAllowedOrigins

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.

Array<string>
azure
object
containerName
required
string
connectionString
required
string
webhookUrl

Optional webhook URL to call for analysis status updates

string

Tenant updated successfully

Media typeapplication/json
object
id
required

Tenant ID (ObjectId string)

string
name
required

Tenant name

string
createdDate
required

Tenant creation timestamp

string format: date-time
apiKeys

List of API keys for this tenant (secrets are masked after first read)

Array<object>
object
name
required

Human-readable name for the API key

string
uuid
required

Unique identifier for the API key

string
createdDate
required

Creation timestamp

string format: date-time
expiryDate
required

Expiration timestamp

string format: date-time
secret
required

API key secret (masked, not the actual secret after first read)

string
storageType

Storage backend type

string
Allowed values: azure s3
storageConfig

Storage configuration (optional, defaults to Neuramancer storage if not set)

object
s3
object
endpoint
required
string
port
required
integer
useSSL
required
boolean
bucketName
required
string
region
required
string
accessKeyId
required
string
secretAccessKey
required
string
presignedUrlExpirySeconds

Presign URL expiry time in seconds, default: 7 days

integer
>= 600
corsAllowedOrigins

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.

Array<string>
azure
object
containerName
required
string
connectionString
required
string
webhookUrl

Optional webhook URL to call for analysis status updates

string
isTrial

System-managed trial flag. When true, only approved trial images (real.jpg, fake.jpg) can be analyzed. Cannot be changed via API.

boolean
Example
{
"storageType": "azure"
}

Missing required parameter: tenantName

Media typeapplication/json

Standardized error response following the APIResponse schema.

object
success
required
boolean
message
required
string
Example
{
"success": false,
"message": "Bad request"
}

Unauthorized - user lacks settings scope or API key does not belong to tenant

Media typeapplication/json

Standardized error response following the APIResponse schema.

object
success
required
boolean
message
required
string
Example
{
"success": false,
"message": "Bad request"
}

Tenant not found

Media typeapplication/json

Standardized error response following the APIResponse schema.

object
success
required
boolean
message
required
string
Example
{
"success": false,
"message": "Bad request"
}

Server error

Media typeapplication/json

Standardized error response following the APIResponse schema.

object
success
required
boolean
message
required
string
Example
{
"success": false,
"message": "Bad request"
}