Set Up Your API Keys

Writingmate has two kinds of API key. They are not interchangeable:

  • An OpenRouter API Key lets Writingmate send supported model requests through an OpenRouter account that you manage and pay for.
  • A Writingmate Developer Key lets an external app authenticate to Writingmate's OpenAI-compatible API or MCP endpoint.

The current API Keys page supports OpenRouter as the only bring-your-own-key (BYOK) provider. It does not provide separate key fields for OpenAI, Anthropic, Google, or other model providers.

Open the API Keys page

  1. Open your profile menu from the bottom-left corner of Writingmate.
  2. Select Profile Settings.
  3. Select API Keys.

You can also open API Keys directly while signed in.

Add an OpenRouter API Key

Use this option when you want supported requests inside Writingmate to use your own OpenRouter account.

  1. Create or copy a key from your OpenRouter account.
  2. Paste it into OpenRouter API Key.
  3. Select Save API Keys.
  4. Send a non-sensitive test request with a supported OpenRouter model.

The key is saved as a profile-level setting and is available to your Writingmate workspaces for supported requests. OpenRouter charges your provider account for those requests. BYOK can bypass Writingmate message limits for supported models, but it does not unlock plan-restricted models or replace separate requirements for direct image, video, or other integrations.

To remove the OpenRouter key, clear the OpenRouter API Key field and select Save API Keys. The field uses masked input, but the saved value is loaded back into your settings when you reopen the page. Treat the account and browser session as sensitive.

Create a Writingmate Developer Key

Use a Developer Key when an external SDK, command-line tool, coding assistant, automation, or MCP host needs to call Writingmate.

  1. Under Writingmate Developer Keys, enter a descriptive key name, such as Local CLI or Laptop MCP.
  2. Select Create Developer Key.
  3. When Copy this key now appears, select Copy Key and save the key in a password manager or secret store.
  4. Configure the external tool with the Developer Key and the required Writingmate endpoint. See OpenAI-Compatible API or MCP Integration for client-specific steps.

The full Developer Key is shown only once. Writingmate stores a one-way hash for later authentication, so the full value cannot be displayed again. If you lose it, create a replacement and revoke the old key.

The key list shows each key's name, Active or Revoked status, creation time, and last-used time. Developer Keys use your Writingmate account and current workspace allowances; they do not charge an OpenRouter account unless you have also saved an OpenRouter BYOK key and the request supports that route.

Developer Key access is currently an alpha, fair-use feature. The page may temporarily disable API requests and new key creation. When that happens, existing keys remain listed and can still be revoked.

Revoke a Developer Key

  1. Find the key under Writingmate Developer Keys.
  2. Select Revoke.

Revocation makes the key inactive immediately. The revoked key remains in the list with its metadata; the current page does not provide a permanent-delete or rotate action. To rotate a key, create a new one, update your external tools, verify the new key, and then revoke the old one.

Protect your credentials

  • Never put either key in public code, screenshots, chat messages, shared documents, or support requests.
  • Store Developer Keys in environment variables, a password manager, or a dedicated secret manager.
  • Do not paste an OpenRouter key into an external client's Writingmate Developer Key field, or a Developer Key into the OpenRouter field.
  • Use a separate Developer Key for each device or integration so you can revoke one without interrupting the others.
  • Revoke a Developer Key immediately if it may have been exposed. Remove and replace an exposed OpenRouter key in both OpenRouter and Writingmate.
  • Do not commit .env files or other files containing keys to source control.

For usage counting and limits, see Message Limits.