---
title: "POST /api/v1/instance/settings:batchGet"
method: POST
path: "/api/v1/instance/settings:batchGet"
tags: ["InstanceService"]
---

# POST /api/v1/instance/settings:batchGet

`POST /api/v1/instance/settings:batchGet`

Batch gets instance settings.

## Request body

- BatchGetInstanceSettingsRequest — Request message for BatchGetInstanceSettings method.
  - `names` string[], required — The resource names of the instance settings. Format: instance/settings/{setting}

## Response `200`

OK

- BatchGetInstanceSettingsResponse — Response message for BatchGetInstanceSettings method.
  - `settings` InstanceSetting[] — The instance settings in the same order as the input names.
    - `name` string — The name of the instance setting. Format: instance/settings/{setting}
    - `generalSetting` InstanceSettingGeneralSetting — General instance settings configuration.
      - `disallowUserRegistration` boolean — disallow_user_registration disallows user registration.
      - `disallowPasswordAuth` boolean — disallow_password_auth disallows password authentication.
      - `additionalScript` string — additional_script is the additional script.
      - `additionalStyle` string — additional_style is the additional style.
      - `customProfile` GeneralSettingCustomProfile — Custom profile configuration for instance branding.
        - `title` string
        - `description` string
        - `logoUrl` string
      - `weekStartDayOffset` integer — week_start_day_offset is the week start day offset from Sunday. 0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday Default is Sunday.
      - `disallowChangeUsername` boolean — disallow_change_username disallows changing username.
      - `disallowChangeNickname` boolean — disallow_change_nickname disallows changing nickname.
    - `storageSetting` InstanceSettingStorageSetting — Storage configuration settings for instance attachments.
      - `storageType` 'STORAGE_TYPE_UNSPECIFIED' | 'DATABASE' | 'LOCAL' | 'S3', enum — Legacy compatibility field. New clients use default_storage_id.
      - `filepathTemplate` string — The template of file path. e.g. assets/{timestamp}_{filename}
      - `uploadSizeLimitMb` string — The max upload size in megabytes.
      - `s3Config` StorageSettingS3Config — Legacy S3 configuration retained for compatibility with existing clients. Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
        - `accessKeyId` string
        - `accessKeySecret` string
        - `endpoint` string
        - `region` string
        - `bucket` string
        - `usePathStyle` boolean
        - `insecureSkipTlsVerify` boolean — insecure_skip_tls_verify disables TLS certificate verification when connecting to the S3 endpoint. Only enable this for trusted endpoints that use a self-signed certificate; it removes protection against man-in-the-middle attacks.
      - `storages` InstanceSettingStorage[] — Configured storage instances, including inactive instances referenced by attachments.
        - `id` string — id is the stable identifier referenced by attachments.
        - `name` string — name is the human-readable storage name.
        - `type` 'STORAGE_TYPE_UNSPECIFIED' | 'DATABASE' | 'LOCAL' | 'S3', enum
        - `s3Config` StorageS3Config — S3 configuration for an S3-compatible object store. Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
          - `accessKeyId` string
          - `accessKeySecret` string
          - `endpoint` string
          - `region` string
          - `bucket` string
          - `usePathStyle` boolean
          - `insecureSkipTlsVerify` boolean — insecure_skip_tls_verify disables TLS certificate verification when connecting to the S3 endpoint. Only enable this for trusted endpoints that use a self-signed certificate; it removes protection against man-in-the-middle attacks.
      - `defaultStorageId` string — Storage used for new attachments.
    - `memoRelatedSetting` InstanceSettingMemoRelatedSetting — Memo-related instance settings and policies.
      - `contentLengthLimit` integer — content_length_limit is the limit of content length. Unit is byte.
      - `enableDoubleClickEdit` boolean — enable_double_click_edit enables editing on double click.
      - `reactions` string[] — reactions is the list of reactions.
    - `tagsSetting` InstanceSettingTagsSetting — Tag metadata configuration. Active tag metadata is stored in per-user tag settings. This message remains for backward compatibility with existing clients and migrations.
      - `tags` object — Map of tag name pattern to tag metadata. Each key is treated as an anchored regular expression (^pattern$), so a single entry like "project/.*" matches all tags under that prefix. Exact tag names are also valid (they are trivially valid regex patterns).
    - `notificationSetting` InstanceSettingNotificationSetting — Notification transport configuration.
      - `email` NotificationSettingEmailSetting — Email delivery configuration for notifications.
        - `enabled` boolean
        - `smtpHost` string
        - `smtpPort` integer
        - `smtpUsername` string
        - `smtpPassword` string
        - `fromEmail` string
        - `fromName` string
        - `replyTo` string
        - `useTls` boolean
        - `useSsl` boolean
    - `aiSetting` InstanceSettingAISetting — AI provider configuration settings.
      - `providers` InstanceSettingAIProviderConfig[] — providers is the list of AI provider configurations available instance-wide.
        - `id` string
        - `title` string
        - `type` 'AI_PROVIDER_TYPE_UNSPECIFIED' | 'OPENAI' | 'GEMINI', enum
        - `endpoint` string
        - `apiKey` string — api_key is write-only and is never returned by GetInstanceSetting.
        - `apiKeySet` boolean — api_key_set indicates whether an API key is stored for this provider.
        - `apiKeyHint` string — api_key_hint is a masked hint for the stored API key.
      - `transcription` InstanceSettingTranscriptionConfig — TranscriptionConfig configures the speech-to-text feature.
        - `providerId` string — provider_id references an entry in AISetting.providers[].id. Empty string means transcription is disabled.
        - `model` string — model is the provider-specific model identifier. Empty string falls back to the engine default (whisper-1 for OPENAI providers, gemini-2.5-flash for GEMINI providers).
        - `language` string — language is the default ISO 639-1 language hint sent to the provider. Empty string lets the provider auto-detect.
        - `prompt` string — prompt is a default spelling/vocabulary hint passed to the provider.
    - `accessSetting` InstanceSettingAccessSetting — Access policy configuration for the instance.
      - `accessMode` 'INSTANCE_ACCESS_MODE_UNSPECIFIED' | 'INSTANCE_ACCESS_MODE_PRIVATE' | 'INSTANCE_ACCESS_MODE_PUBLIC', enum

## Other responses

- `default` — Default error response

## Changes

- **2026-08-22** `ebc1e11315b7` — 1 info
  - added the optional property `settings/items/accessSetting` to the response with the `200` status
- **2026-08-13** `8a5c07ffea68` — 2 info
  - added the optional property `settings/items/storageSetting/defaultStorageId` to the response with the `200` status
  - added the optional property `settings/items/storageSetting/storages` to the response with the `200` status
- **2026-06-22** `ff2640a3e551` — 1 info
  - added the optional property `settings/items/storageSetting/s3Config/allOf[#/components/schemas/StorageSetting_S3Config]/insecureSkipTlsVerify` to the response with the `200` status
- **2026-05-09** `ee7d236570d6` — 1 info
  - endpoint added
- **2025-12-15** `d740073f088f` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/v1/instance/settings:batchGet/post.md)

---

[API](https://skmtc.dev/usememos/apis/untitled-api.md) · [All operations](https://skmtc.dev/usememos/apis/untitled-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/usememos/untitled-api/revisions/9f2688df7c2e/schema)
