Misar Docs
MisarMailMisar.BlogMisarReachMisarPostMisar.DevMisar PlatformMisar IdentityMisar Posts API
Api Reference

API Keys

Programmatically manage MisarMail API keys.

Create, list, and revoke API keys programmatically.

List API Keys

GET/api/v1/keys

List your API keys. Required scope: keys:manage.

Full key values are never returned after creation — only the prefix is shown for identification.

Response fields

successboolean

true when the request succeeded.

dataArray<object>

Your API keys. Each entry includes id, name, prefix, scopes, last_used_at, and created_at.

{
  "success": true,
  "data": [
    {
      "id": "uuid",
      "name": "Production Integration",
      "prefix": "msk_...",
      "scopes": ["send", "contacts:read"],
      "last_used_at": "2026-04-13T08:42:00Z",
      "created_at": "2026-01-01T00:00:00Z"
    }
  ]
}

Create an API Key

POST/api/v1/keys

Create a new API key. Required scope: keys:manage.

The full key is only returned once at creation. Store it securely — it cannot be retrieved again.

Request body

namestringbodyrequired

Human-readable label for the key.

scopesstring[]bodyrequired

Array of permission scopes.

Response fields

successboolean

true when the key was created.

dataobject

The created key, including id, name, key (shown once), scopes, and created_at.

{
  "name": "Shopify Integration",
  "scopes": ["send", "contacts:write"]
}
{
  "success": true,
  "data": {
    "id": "uuid",
    "name": "Shopify Integration",
    "key": "msk_SHOWN_ONCE_STORE_IMMEDIATELY",
    "scopes": ["send", "contacts:write"],
    "created_at": "2026-04-14T10:00:00Z"
  }
}

Available Scopes

ScopeDescription
sendSend emails and messages
contacts:readRead contacts and lists
contacts:writeCreate, update, delete contacts
campaigns:readRead campaigns
campaigns:writeCreate, update, send campaigns
templates:readRead templates
templates:writeCreate, update templates
analytics:readRead analytics
keys:manageCreate and revoke API keys

Revoke an API Key

DELETE/api/v1/keys/:id

Immediately invalidates the key. Required scope: keys:manage. Any integrations using it will start receiving 401 errors.

Path parameters

idUUIDpathrequired

ID of the key to revoke.

Response fields

successboolean

true when the key was revoked.

{ "success": true }

Errors

StatusCodeDescription
400VALIDATION_ERRORInvalid scopes or missing name
401UNAUTHORIZEDInvalid or missing API key
403FORBIDDENKey lacks keys:manage scope
404NOT_FOUNDKey not found