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

# POST /api/instance/settings:batchGet

`POST /api/instance/settings:batchGet`

## Request

- The document declares no server URL.
- Auth: none declared

BatchGetInstanceSettings gets up to 100 instance settings in request order, with the same access rules as
 GetInstanceSetting. The call fails if any setting cannot be returned.

## Request body

- BatchGetInstanceSettingsRequest: Request message for InstanceService.BatchGetInstanceSettings.
  - `names` string[], required: Required. The resource names of the instance settings. At most 100. Format: instance/settings/{setting}

## Response `200`

OK

- BatchGetInstanceSettingsResponse: Response message for InstanceService.BatchGetInstanceSettings.
  - `instanceSettings` InstanceSetting[]: The instance settings, in the same order as the requested names.
    - `name` string: Identifier. The resource name of the instance setting. {setting} is a Key value, such as GENERAL. Format: instance/settings/{setting}
    - `generalSetting` InstanceSettingGeneralSetting: GeneralSetting is the general instance configuration.
      - `customProfile` GeneralSettingCustomProfile: CustomProfile is the instance branding.
        - `title` string: The instance title.
        - `description` string: The instance description.
        - `logoUrl` string: The URL of the instance logo.
      - `disallowUserRegistration` boolean: Whether user self-registration is disabled.
      - `disallowPasswordAuth` boolean: Whether password authentication is disabled.
      - `disallowChangeUsername` boolean: Whether users are prevented from changing their username.
      - `disallowChangeNickname` boolean: Whether users are prevented from changing their nickname.
      - `weekStartDayOffset` integer: The first day of the week as an offset from Sunday. 0: Sunday, 1: Monday, 2: Tuesday, 3: Wednesday, 4: Thursday, 5: Friday, 6: Saturday. Default is Sunday.
      - `additionalStyle` string: Custom CSS injected into the web app.
      - `additionalScript` string: Custom JavaScript injected into the web app.
    - `storageSetting` InstanceSettingStorageSetting: StorageSetting is the attachment storage configuration.
      - `storages` InstanceSettingStorage[]: Configured storage instances, including inactive instances still referenced by attachments.
        - `id` string: The stable identifier referenced by attachments.
        - `name` string: The human-readable storage name.
        - `type` 'STORAGE_TYPE_UNSPECIFIED' | 'DATABASE' | 'LOCAL' | 'S3', enum: The storage backend.
        - `s3Config` StorageS3Config: S3Config is the configuration of an S3-compatible object store. Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
          - `endpoint` string: The S3 endpoint URL.
          - `region` string: The S3 region.
          - `bucket` string: The S3 bucket.
          - `accessKeyId` string: The S3 access key ID.
          - `accessKeySecret` string: Input only. The S3 access key secret. Never returned; an empty value keeps the stored secret.
          - `usePathStyle` boolean: Whether to use path-style addressing instead of virtual-hosted-style.
          - `insecureSkipTlsVerify` boolean: Whether to skip 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: The ID of the storage used for new attachments.
      - `filepathTemplate` string: The template of attachment file paths. Default is assets/{timestamp}_{uuid}_{filename}.
      - `storageType` 'STORAGE_TYPE_UNSPECIFIED' | 'DATABASE' | 'LOCAL' | 'S3', enum: Legacy compatibility field. New clients use default_storage_id.
      - `s3Config` StorageSettingS3Config: S3Config is the legacy S3 configuration, retained for compatibility with existing clients. Reference: https://developers.cloudflare.com/r2/examples/aws/aws-sdk-go/
        - `endpoint` string: The S3 endpoint URL.
        - `region` string: The S3 region.
        - `bucket` string: The S3 bucket.
        - `accessKeyId` string: The S3 access key ID.
        - `accessKeySecret` string: Input only. The S3 access key secret. Never returned; an empty value keeps the stored secret.
        - `usePathStyle` boolean: Whether to use path-style addressing instead of virtual-hosted-style.
        - `insecureSkipTlsVerify` boolean: Whether to skip 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.
    - `memoRelatedSetting` InstanceSettingMemoRelatedSetting: MemoRelatedSetting is the memo-related instance configuration.
      - `reactions` string[]: The reactions users can choose from. Defaults to a built-in emoji set when empty.
    - `tagsSetting` InstanceSettingTagsSetting: TagsSetting is the instance-wide 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.
    - `notificationSetting` InstanceSettingNotificationSetting: NotificationSetting is the notification transport configuration.
      - `email` NotificationSettingEmailSetting: EmailSetting is the SMTP configuration for notification emails.
        - `enabled` boolean: Whether email notifications are enabled.
        - `smtpHost` string: The SMTP server host.
        - `smtpPort` integer: The SMTP server port.
        - `smtpUsername` string: The SMTP username.
        - `smtpPassword` string: Input only. The SMTP password. Never returned. An empty value keeps the stored password, unless the host, port, username or encryption settings change.
        - `useTls` boolean: Whether to use STARTTLS.
        - `useSsl` boolean: Whether to use implicit SSL/TLS.
        - `fromEmail` string: The sender email address.
        - `fromName` string: The sender display name.
        - `replyTo` string: The Reply-To email address.
    - `aiSetting` InstanceSettingAISetting: AISetting is the AI provider configuration.
      - `providers` InstanceSettingAIProviderConfig[]: The AI provider configurations available instance-wide.
        - `id` string: The provider ID. Generated when empty on update.
        - `title` string: The provider display title.
        - `type` 'AI_PROVIDER_TYPE_UNSPECIFIED' | 'OPENAI' | 'GEMINI', enum: The provider implementation type.
        - `endpoint` string: The provider API endpoint. Defaults to the provider's public endpoint when empty.
        - `apiKey` string: Input only. The provider API key. Never returned; an empty value keeps the stored key.
        - `apiKeySet` boolean: Output only. Whether an API key is stored for this provider.
        - `apiKeyHint` string: Output only. A masked hint of the stored API key.
      - `transcription` InstanceSettingTranscriptionConfig: TranscriptionConfig is the speech-to-text feature configuration.
        - `providerId` string: The ID of the provider used for transcription; must reference an entry in AISetting.providers. Empty means transcription is disabled.
        - `model` string: The provider-specific model identifier. Hidden from non-admins. Empty falls back to the engine default (whisper-1 for OPENAI providers, gemini-2.5-flash for GEMINI providers).
        - `language` string: The default ISO 639-1 language hint sent to the provider. Hidden from non-admins. Empty lets the provider auto-detect.
        - `prompt` string: A default spelling and vocabulary hint passed to the provider. Hidden from non-admins.
    - `accessSetting` InstanceSettingAccessSetting: AccessSetting is the instance access policy.
      - `accessMode` 'INSTANCE_ACCESS_MODE_UNSPECIFIED' | 'INSTANCE_ACCESS_MODE_PRIVATE' | 'INSTANCE_ACCESS_MODE_PUBLIC', enum: Whether unauthenticated users may access instance content. Must be PRIVATE or PUBLIC on update.
    - `usageLimitsSetting` InstanceSettingUsageLimitsSetting: UsageLimitsSetting is an ordered list of limit sets. The first entry that names a user is that user's limit set, whole. The last entry has all_users set and is the default. The setting is read and replaced whole. Admins are limited like everyone else.
      - `limits` UsageLimitsSettingUsageLimit[]: The entries, in the order they are checked. At most 100, naming at most 1,000 users in all.
        - `users` string[]: The users the entry applies to. Not repeated within an entry. Format: users/{user}
        - `allUsers` boolean: Whether the entry applies to every user. Exactly one entry has it, and it is the last entry. An entry has users or all_users, never both.
        - `memoCount` string: The number of memos the user may have created, comments and archived memos included.
        - `memoContentBytes` string: The UTF-8 size in bytes of one memo's content.
        - `storageBytes` string: The total size in bytes of the user's uploads. External links do not count.
        - `uploadBytes` string: The size in bytes of one uploaded file.

## Other responses

- `default`: Default error response

## Changes

- **2026-10-20** `8df50a23c879`: 1 warning
  - removed the optional property `instanceSettings/items/memoRelatedSetting/allOf[#/components/schemas/InstanceSetting_MemoRelatedSetting]/enableDoubleClickEdit` from the response with the `200` status
- **2026-10-15** `1e6b7d859eb8`: 1 info
  - added the optional property `instanceSettings/items/usageLimitsSetting` to the response with the `200` status
- **2026-10-12** `7928165faf36`: 1 warning
  - removed the optional property `instanceSettings/items/memoRelatedSetting/allOf[#/components/schemas/InstanceSetting_MemoRelatedSetting]/contentLengthLimit` from the response with the `200` status
- **2026-10-11** `37e0e63583fa`: 1 warning
  - removed the optional property `instanceSettings/items/storageSetting/allOf[#/components/schemas/InstanceSetting_StorageSetting]/uploadSizeLimitMb` from the response with the `200` status
- **2026-10-08** `1846a777b0ef`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/usememos/apis/untitled-api/changes/api/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.dev/usememos/apis/untitled-api/revisions/f587355e35b4?raw)
