### Install and Run Stalwart Website Locally Source: https://github.com/stalwartlabs/website/blob/main/README.md Installs project dependencies and starts the local development server with hot reloading. Ensure Node.js 20+ is installed. ```sh npm install npm run dev ``` -------------------------------- ### Example Administrator Credentials Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/_setup-wizard.md When using an internal directory, the setup wizard displays an administrator email address and a randomly generated password. This password is only shown once and must be recorded for initial login to the WebUI. ```text admin@example.com onMjJfFMO83tQcCX ``` -------------------------------- ### Install Stalwart Source: https://github.com/stalwartlabs/website/blob/main/slides/slides.md Execute the downloaded installation script using sudo to install Stalwart. The script handles creating a service user, setting up the systemd unit, and starting the service. ```bash sudo sh install.sh ``` -------------------------------- ### Setup MinIO for S3 Storage Tests Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/development/test.md Steps to download, install, and configure MinIO for running S3 storage tests. This includes setting up an alias and creating a bucket. ```bash wget https://dl.min.io/server/minio/release/linux-amd64/archive/minio_20230629051228.0.0_amd64.deb -O minio.deb sudo dpkg -i minio.deb mkdir ~/minio minio server ~/minio --console-address :9090 & wget https://dl.min.io/client/mc/release/linux-amd64/mc chmod a+rx mc ./mc alias set myminio http://localhost:9000 minioadmin minioadmin ./mc mb tmp ``` -------------------------------- ### Get General Help Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/index.md Provides examples of how to access general help and subcommand-specific help within the Stalwart CLI. ```sh stalwart-cli --help stalwart-cli get --help stalwart-cli apply --help ``` -------------------------------- ### Execute Stalwart Installer Script Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/linux.md Runs the downloaded Stalwart installation script with root privileges. This installs the binary, configuration, and sets up the service. Optionally, specify a prefix argument to change the installation directory. ```bash sudo sh install.sh ``` ```bash sudo sh install.sh /opt/stalwart ``` -------------------------------- ### Install Stalwart Proxy using Install Script Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/migration/proxy/installation.md Download and execute the Stalwart Proxy installation script as root. This script provisions the binary, service account, and sample configuration files. ```bash curl --proto '=https' --tlsv1.2 -sSf \ https://raw.githubusercontent.com/stalwartlabs/proxy/main/install.sh | sudo sh ``` -------------------------------- ### Fetch SearchStore using Stalwart CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/search-store.md Use the `stalwart-cli get SearchStore` command to fetch the SearchStore configuration. Refer to the CLI reference for installation and usage details. ```sh stalwart-cli get SearchStore ``` -------------------------------- ### Develop Stalwart Slides Source: https://github.com/stalwartlabs/website/blob/main/slides/README.md Installs dependencies and starts the Slidev development server for hot-reloading. ```sh cd slides npm install npm run dev # opens http://localhost:3030 ``` -------------------------------- ### Redis Key Layout Example Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/migration/proxy/mappings/redis.md Illustrates how mapping identifiers are translated into Redis keys. A GET command retrieves the mapping value. ```text GET route:alice@example.com -> "legacy" GET route:carol@example.com -> "stalwart" ``` -------------------------------- ### Start Stalwart Instance for Testing Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/development/test.md Run this command to start a test instance of Stalwart. Ensure you have the correct manifest path and configuration file. ```bash $ cargo run --manifest-path=crates/main/Cargo.toml -- --config=./tests/resources/test_config.json ``` -------------------------------- ### Install Rust using rustup Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/development/compile.md Installs the latest version of Rust using the recommended rustup installer. Follow the on-screen instructions for completion. ```bash $ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh ``` -------------------------------- ### Start Stalwart with Configuration File Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/configuration/index.md Specify the path to the `config.json` file using the `--config` flag when starting the Stalwart server. ```sh stalwart --config /etc/stalwart/config.json ``` -------------------------------- ### NATS Coordinator Configuration Example Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/cluster/coordination/nats.md This JSON object demonstrates a typical configuration for the NATS coordinator. It includes server addresses, basic authentication credentials, and various performance-related settings like ping intervals and buffer capacities. Ensure all required fields are present and correctly formatted for your NATS setup. ```json { "@type": "Nats", "addresses": ["nats1:4222", "nats2:4222"], "authUsername": "nats-user", "authSecret": { "@type": "Value", "secret": "nats-password" }, "pingInterval": "60s", "noEcho": true, "useTls": false, "timeoutConnection": "5s", "timeoutRequest": "10s", "capacityClient": 2048, "capacitySubscription": 65536, "capacityReadBuffer": 65535 } ``` -------------------------------- ### Install Stalwart with FoundationDB Support Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/_next-steps.md Use the installation script with the --fdb flag to install a build of Stalwart that includes FoundationDB support. ```bash $ sudo sh install.sh --fdb ``` -------------------------------- ### Human-Readable Output Example Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/apply.md Example of the default human-readable output from the `stalwart-cli apply` command, showing plan progress and summary. ```text Plan: 4 destroy, 5 update, 3 create (8 objects) ✓ destroyed Domain (1) ✓ destroyed Domain (1) ✓ destroyed Account (2) ✓ destroyed DkimSignature (8) ✓ created Domain (2) ✓ created Account (2) ✓ created DkimSignature (3) ✓ updated SystemSettings (1) ✓ updated Enterprise (1) ✓ updated BlobStore (1) ✓ updated InMemoryStore (1) ✓ updated SearchStore (1) Done: 12 destroyed, 5 updated, 7 created (0 failed) ``` -------------------------------- ### Synopsis of the get command Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/get.md This shows the general structure of the `get` command, including required and optional arguments and flags. ```text stalwart-cli get [] [--fields name,email,...] [--json] ``` -------------------------------- ### Get System Settings Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/system-settings.md Retrieves the current system settings. Use 'singleton' as the ID to get the single instance. Requires the sysSystemSettingsGet permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ \ "methodCalls": [ \ [ \ "x:SystemSettings/get", \ { \ "ids": [ \ "singleton" \ ] \ }, \ "c1" \ ] \ ], \ "using": [ \ "urn:ietf:params:jmap:core", \ "urn:stalwart:jmap" \ ] \ }' ``` -------------------------------- ### Start Stalwart Service Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/windows.md Starts the Stalwart service after it has been installed with NSSM. ```powershell PS> Start-Service Stalwart ``` -------------------------------- ### Accessing the Stalwart Setup Wizard Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/windows.md Navigate to this URL in your web browser to begin the Stalwart setup wizard. Replace `` with your server's IP address or domain name. For local access, `127.0.0.1` can be used. ```text http://:8080/admin ``` -------------------------------- ### Example Bulk Plan Operations Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/apply.md Demonstrates creating domains and accounts, and updating domain and system settings using NDJSON. ```json {"@type":"create","object":"Domain","value":{"dom-a":{"name":"example.com"},"dom-b":{"name":"example.net"}}} {"@type":"create","object":"Account","value":{"grp-sales":{"@type":"Group","name":"sales","domainId":"#dom-a"}}} {"@type":"update","object":"Domain","id":"#dom-a","value":{"description":"Primary corporate domain"}} {"@type":"update","object":"SystemSettings","value":{"defaultDomainId":"#dom-a"}} ``` -------------------------------- ### Cross-Environment Promotion using Snapshot and Apply Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/snapshot.md Demonstrates promoting configuration from a staging environment to production. First, a snapshot plan is created on staging, then applied to production. The `--dry-run` option on `apply` is recommended for review. ```sh # On staging stalwart-cli --url https://staging.mail.example.com \ snapshot Tenant Domain ... --output plan.ndjson # On production stalwart-cli --url https://prod.mail.example.com \ apply --file plan.ndjson ``` -------------------------------- ### Accessing the Setup Wizard Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/_setup-wizard.md Navigate to this URL in your web browser to access the Stalwart setup wizard. Replace `` with the actual hostname or IP address of your Stalwart server. For local access, `127.0.0.1` can be used. ```text http://:8080/admin ``` ```text http://127.0.0.1:8080/admin ``` -------------------------------- ### Fetch Coordinator using CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/coordinator.md Use the `stalwart-cli get Coordinator` command to fetch the Coordinator configuration. Ensure you have installed and authenticated the CLI. ```sh stalwart-cli get Coordinator ``` -------------------------------- ### Create Application using x:Application/set Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/application.md Shows how to create a new application instance using the `x:Application/set` JMAP method with the `create` operation. Requires the `sysApplicationCreate` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:Application/set", { "create": { "new1": { "description": "Example", "resourceUrl": "Example", "urlPrefix": {} } } }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }' ``` -------------------------------- ### Get SieveSystemInterpreter Singleton via JMAP Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/sieve-system-interpreter.md This example demonstrates how to retrieve the SieveSystemInterpreter singleton using a JMAP POST request. Ensure you have the `sysSieveSystemInterpreterGet` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:SieveSystemInterpreter/get", { "ids": [ "singleton" ] }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }' ``` -------------------------------- ### Fetch AddressBook Configuration via CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/address-book.md Use the `stalwart-cli get AddressBook` command to retrieve the AddressBook configuration. Ensure `stalwart-cli` is installed and authenticated. ```sh stalwart-cli get AddressBook ``` -------------------------------- ### Create Event Tracing Level Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/event-tracing-level.md Use this command to create a new Event Tracing Level. No specific setup is required beyond having the stalwart-cli installed. ```sh stalwart-cli create EventTracingLevel ``` -------------------------------- ### Example Snapshot Command Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/snapshot.md Demonstrates how to snapshot a baseline configuration, including specific object types and allowing unresolved references. The output is directed to a file named `plan.ndjson`. ```sh stalwart-cli snapshot \ Tenant Domain DkimSignature AcmeProvider Certificate DnsServer Role \ Account Directory \ SystemSettings DataRetention BlobStore InMemoryStore SearchStore \ --allow-unresolved PublicKey \ --output plan.ndjson ``` -------------------------------- ### Fetch Tracing Store via CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/tracing-store.md Use the `stalwart-cli get TracingStore` command to fetch tracing store data. Refer to the CLI reference for installation and general usage. ```sh stalwart-cli get TracingStore ``` -------------------------------- ### Fetch Metrics Store via CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/metrics-store.md Use the `stalwart-cli get MetricsStore` command to fetch Metrics Store data. Refer to the CLI reference for installation and authentication details. ```sh stalwart-cli get MetricsStore ``` -------------------------------- ### Create Application using stalwart-cli Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/application.md This command creates a new application with specified fields like description, resource URL, and URL prefix using `stalwart-cli`. ```sh stalwart-cli create Application \ --field description=Example \ --field resourceUrl=Example \ --field 'urlPrefix={}' ``` -------------------------------- ### Setup glauth for LDAP Directory Tests Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/development/test.md Steps to download, make executable, and run glauth for LDAP directory tests. Requires a configuration file. ```bash wget https://github.com/glauth/glauth/releases/download/v2.2.0/glauth-linux-arm64 chmod a+rx glauth-linux-arm64 ./glauth-linux-arm64 -c tests/resources/ldap.cfg & ``` -------------------------------- ### Fetch Email Configuration via CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/email.md Use the `stalwart-cli get Email` command to fetch the current email configuration. Refer to the CLI reference for installation and authentication details. ```sh stalwart-cli get Email ``` -------------------------------- ### Display Help Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/maintenance/database.md Type `help` to display a list of all available commands and usage hints within the database console. ```bash help ``` -------------------------------- ### Temporary Administrator Credentials Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/configuration/bootstrap-mode.md When Stalwart starts in bootstrap mode, it generates temporary administrator credentials and prints them to standard output. These are used to access the WebUI for initial server setup. The password is shown only once. ```text ════════════════════════════════════════════════════════════ 🔑 Stalwart bootstrap mode - temporary administrator account username: admin password: iX8pG2uYq3vR7kNc Use these credentials to complete the initial setup at the /admin web UI. Once setup is done, Stalwart will provision a permanent administrator and this temporary account will no longer apply. This password is shown only once. To pin a credential instead, set STALWART_RECOVERY_ADMIN=admin: in the env file. ════════════════════════════════════════════════════════════ ``` -------------------------------- ### Update OIDC Provider Configuration Field Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/oidc-provider.md Use this command to update a specific field in the OIDC provider configuration. This example updates the maximum number of authentication code attempts. Ensure you have the Stalwart CLI installed and authenticated. ```bash stalwart-cli update OidcProvider --field authCodeMaxAttempts=3 ``` -------------------------------- ### List all management objects Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/describe.md Run `describe` with no arguments to get a sorted list of all management objects (those whose JMAP names start with `x:`). The `[singleton]` tag indicates objects with exactly one instance per server. ```sh stalwart-cli describe ``` -------------------------------- ### Create WebHook Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/web-hook.md Creates a new WebHook configuration. This example demonstrates setting a URL, authentication type, and other basic parameters. Requires the `sysWebHookCreate` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:WebHook/set", { "create": { "new1": { "events": {}, "httpAuth": { "@type": "Unauthenticated" }, "httpHeaders": {}, "signatureKey": { "@type": "None" }, "url": "https://example.com" } } }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }' ``` -------------------------------- ### Update SearchStore using Stalwart CLI Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/search-store.md Use the `stalwart-cli update SearchStore` command to modify SearchStore settings. Specify the field and its new value, for example, `--field description='updated value'`. Refer to the CLI reference for installation and usage details. ```sh stalwart-cli update SearchStore --field description='updated value' ``` -------------------------------- ### Idempotent Plan Example Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/apply.md This example demonstrates how to structure a plan for idempotent re-runs by pairing 'create' operations with preceding 'destroy' operations. This ensures that running the plan multiple times yields the same result without errors. ```text # Destroy pass: written parents-first, executed children-first. {"@type":"destroy","object":"Domain","value":{"name":"example.com"}} {"@type":"destroy","object":"Domain","value":{"name":"example.net"}} {"@type":"destroy","object":"Account","value":{"@type":"Group"}} {"@type":"destroy","object":"DkimSignature"} ``` -------------------------------- ### Create a New Tenant Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/tenant.md Use the `x:Tenant/set` method with the `create` argument to provision a new tenant. This operation requires the `sysTenantCreate` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:Tenant/set", { "create": { "new1": { "name": "Example", "permissions": { "@type": "Inherit" }, "quotas": {}, "roles": { "@type": "Default" } } } }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }' ``` -------------------------------- ### Verify Vandelay installation Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/migration/import-export/installation.md After installation, confirm that Vandelay is accessible and report its version. This command works regardless of the installation method. ```sh vandelay --version ``` -------------------------------- ### Launch Database Console Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/maintenance/database.md Run the Stalwart binary with the `--console` and `--config` parameters to launch the database console. Ensure the `--config` argument points to your Stalwart configuration file. ```bash $ /opt/stalwart/bin/stalwart --config /opt/stalwart/etc/config.json --console ``` -------------------------------- ### Retrieve Application using x:Application/get Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/application.md Demonstrates how to fetch application details using the `x:Application/get` JMAP method. Requires the `sysApplicationGet` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ "methodCalls": [ [ "x:Application/get", { "ids": [ "id1" ] }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] }' ``` -------------------------------- ### Install Stalwart with FoundationDB Support Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/docker.md Execute the installation script with the --fdb flag to install the FoundationDB-enabled version of Stalwart on Linux or macOS. ```bash sudo sh install.sh --fdb ``` -------------------------------- ### SQL Directory Configuration Example Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/auth/backend/sql.md This JSON configuration defines an SQL directory for authentication, specifying column mappings and the default store. ```json { "@type": "Sql", "description": "External SQL directory", "store": { "@type": "Default" }, "columnEmail": "name", "columnSecret": "secret", "columnDescription": "description", "columnClass": "type" } ``` -------------------------------- ### x:SystemSettings/get Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/system-settings.md Retrieves system settings. This method follows the standard `Foo/get` pattern defined in RFC 8620. For singletons, use 'singleton' or null for the `ids` argument. ```APIDOC ## x:SystemSettings/get ### Description Retrieves system settings. This method follows the standard `Foo/get` pattern defined in RFC 8620. For singletons, use 'singleton' or null for the `ids` argument. ### Method POST ### Endpoint /api ### Parameters #### Query Parameters None #### Request Body - **methodCalls** (array) - Required - An array containing the method calls to be executed. - **methodCalls[0]** (array) - Required - Represents a single method call. - **methodCalls[0][0]** (string) - Required - The method name, expected to be "x:SystemSettings/get". - **methodCalls[0][1]** (object) - Required - The arguments for the method. - **ids** (array) - Required - An array of setting IDs to retrieve. Use `["singleton"]` or `null` for the single instance. - **methodCalls[0][2]** (string) - Required - A client-generated identifier for the method call. - **using** (array) - Required - An array of URNs specifying the JMAP capabilities to use. ### Request Example ```json { "methodCalls": [ [ "x:SystemSettings/get", { "ids": [ "singleton" ] }, "c1" ] ], "using": [ "urn:ietf:params:jmap:core", "urn:stalwart:jmap" ] } ``` ### Response #### Success Response (200) - **methodResponses** (array) - Contains the responses to the method calls. - **methodResponses[0]** (array) - The response to the "x:SystemSettings/get" call. - **methodResponses[0][0]** (string) - The ID of the method call this response corresponds to. - **methodResponses[0][1]** (object) - The result of the method call. - **ids** (object) - An object containing the requested system settings, keyed by ID. - **singleton** (object) - The system settings object. - **defaultHostname** (string) - The default hostname for the system. - **...other system settings fields** #### Response Example ```json { "methodResponses": [ [ "c1", { "ids": { "singleton": { "defaultHostname": "mail.example.com" } } } ] ], "notResponse": [] } ``` ``` -------------------------------- ### Install Vandelay using a script on Windows Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/migration/import-export/installation.md On Windows, execute this PowerShell command to install Vandelay. It bypasses execution policy restrictions for the installation process. ```powershell powershell -ExecutionPolicy Bypass -c "irm https://github.com/stalwartlabs/vandelay/releases/latest/download/vandelay-installer.ps1 | iex" ``` -------------------------------- ### Query Store using stalwart-cli Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/store-lookup.md This command lists all available store configurations. ```sh stalwart-cli query StoreLookup ``` -------------------------------- ### Install Stalwart CLI with npm Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/management/cli/index.md Installs the Stalwart CLI globally using npm. This method requires Node.js to be installed and works across all platforms. ```bash npm install -g @stalwartlabs/cli ``` -------------------------------- ### Download Stalwart Installer Script Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/install/platform/linux.md Fetches the latest Stalwart installation script using curl. Ensure you have curl installed and outgoing HTTPS connectivity. ```bash curl --proto '=https' --tlsv1.2 -sSf https://get.stalw.art/install.sh -o install.sh ``` -------------------------------- ### Get SearchStore Singleton via JMAP Source: https://github.com/stalwartlabs/website/blob/main/src/content/docs/docs/ref/object/search-store.md Use the `x:SearchStore/get` method to retrieve the current configuration of the SearchStore singleton. The `ids` argument must be `"singleton"` or `null`. Requires the `sysSearchStoreGet` permission. ```bash curl -X POST https://mail.example.com/api \ -H 'Authorization: Bearer $TOKEN' \ -H 'Content-Type: application/json' \ -d '{ \ "methodCalls": [ \ [ \ "x:SearchStore/get", \ { \ "ids": [ \ "singleton" \ ] \ }, \ "c1" \ ] \ ], \ "using": [ \ "urn:ietf:params:jmap:core", \ "urn:stalwart:jmap" \ ] \ }' ```