{
  "info": {
    "_postman_id": "073a050c-7e33-4088-995f-88d563314dbd",
    "name": "Motorical Public API",
    "description": "Transactional email HTTP API and analytics for Motorical Sending SMTP — same job class as SendGrid/Postmark-style send APIs. One Motor Block per project: an isolated sending stream with its own domain, auth, keys, SMTP credentials, rates, logs, webhooks, and automation. Public API covers email sending, analytics, logs, configuration, domain health, webhooks, and exports. SMTP submission is an out-of-band protocol on mail.motorical.com:2587 (STARTTLS) or :2465 (implicit TLS) using password, OAuth 2.0 access token as SMTP password (or XOAUTH2), or mTLS + password — see https://docs.motorical.com/smtp-integration/authentication-methods. Do not use OAuth access tokens or Bearer tokens on POST /v1/send (Motor Block ApiKey mk_live_ only).\n\nGenerated from https://docs.motorical.com/openapi.json — do not hand-edit; regenerate via `npm run snapshot:api-docs`.\n\nAuth tips:\n- `mkApiKey` (`mk_live_...`) → POST /v1/send\n- `akApiKey` (`ak_live_...`) → mint `bearerToken` via /api/public/token/account-key\n- `bearerToken` → /api/public/v1/* and Communications (plus X-Tenant-Id)\n- OAuth SMTP tokens are out-of-band; see https://docs.motorical.com/smtp-integration/authentication-methods\n\nOpenAPI version: 1.2.0",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
  },
  "variable": [
    {
      "key": "apiBaseUrl",
      "value": "https://api.motorical.com"
    },
    {
      "key": "dashboardBaseUrl",
      "value": "https://motorical.com"
    },
    {
      "key": "mkApiKey",
      "value": "mk_live_YOUR_PREFIX_YOUR_SECRET"
    },
    {
      "key": "akApiKey",
      "value": "ak_live_YOUR_PREFIX_YOUR_SECRET"
    },
    {
      "key": "bearerToken",
      "value": ""
    },
    {
      "key": "motorBlockId",
      "value": ""
    },
    {
      "key": "tenantId",
      "value": ""
    },
    {
      "key": "messageId",
      "value": ""
    },
    {
      "key": "webhookId",
      "value": ""
    },
    {
      "key": "jobId",
      "value": ""
    },
    {
      "key": "smtpMessageId",
      "value": ""
    },
    {
      "key": "oauthClientId",
      "value": ""
    },
    {
      "key": "oauthClientSecret",
      "value": ""
    },
    {
      "key": "oauthAuthorizationCode",
      "value": ""
    }
  ],
  "item": [
    {
      "name": "00 — Quick start",
      "description": "Typical agent/developer path: mint public token, dry-run send, inspect message events.",
      "item": [
        {
          "name": "Mint a Public Analytics API token with an Account API Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/token/account-key",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "token",
                "account-key"
              ]
            },
            "description": "Use an Account API Key (`ak_live_...`) to create a short-lived bearer token for `/api/public/v1` endpoints. The key can be supplied as `Authorization: ApiKey ak_live_...` or `X-Api-Key: ak_live_...`.\n\nOpenAPI: `POST /api/public/token/account-key`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{akApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"motorBlockId\": \"{{motorBlockId}}\",\n  \"scopes\": [\n    \"logs.read\",\n    \"analytics.read\",\n    \"webhooks.manage\"\n  ],\n  \"ttlSeconds\": 900\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Send or validate an email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/v1/send",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "v1",
                "send"
              ]
            },
            "description": "Queue an email for immediate delivery, or validate the payload only when `dryRun: true`. Authenticated via Motor Block API key (`Authorization: ApiKey mk_live_...` or `X-Api-Key: mk_live_...`).\n\n**Dry run:** `dryRun: true` performs the same authentication, domain, DNS, recipient, subject, and body-size checks but does not insert an email log or push delivery work to Redis.\n\n**Idempotency:** Include an `Idempotency-Key` header to prevent duplicate sends on retries (24h window).\n\n**Webhook verification:** Delivery events are posted to your webhook endpoints with an `X-Motorical-Signature` header containing an HMAC-SHA256 hex digest computed over the JSON body using the webhook secret you received at creation time. Verify with: `crypto.createHmac(\"sha256\", secret).update(body).digest(\"hex\")`.\n\nOpenAPI: `POST /v1/send`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{mkApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from\": \"sender@yourdomain.com\",\n  \"subject\": \"string\",\n  \"text\": \"string\",\n  \"html\": \"string\",\n  \"headers\": {},\n  \"dryRun\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Get message event timeline",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/messages/{{messageId}}/events",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "messages",
                "{{messageId}}",
                "events"
              ],
              "query": [
                {
                  "key": "includePII",
                  "value": "",
                  "description": "Requires logs.pii scope",
                  "disabled": true
                }
              ]
            },
            "description": "Canonical lifecycle events from email_events.\n\nOpenAPI: `GET /api/public/v1/messages/{id}/events`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Analytics",
      "item": [
        {
          "name": "Anomaly detection (bounce spikes)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/anomalies",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "anomalies"
              ]
            },
            "description": "Anomaly detection (bounce spikes)\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/anomalies`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Daily summary",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/daily-summary",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "daily-summary"
              ],
              "query": [
                {
                  "key": "days",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Daily rollups for a recent window (sent, delivered, bounced, complained, plus rates).\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/daily-summary`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Deliverability by recipient domain",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/deliverability?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "deliverability"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "Deliverability by recipient domain\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/deliverability`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Event stream (SSE)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/events/stream",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "events",
                "stream"
              ]
            },
            "description": "Event stream (SSE)\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/events/stream`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Metrics series and totals",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/metrics",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "metrics"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "interval",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Aggregated metrics (sent, delivered, bounced, complained) over hour/day buckets.\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/metrics`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Motor Block overview",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/overview",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "overview"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "One-call overview including totals, rates, reputation, rate limits, anomalies, and top domains.\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/overview`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Motor Block rate limits",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/rate-limits",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "rate-limits"
              ]
            },
            "description": "Current usage vs burst, hourly, and daily rate limits.\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/rate-limits`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Provider breakdown (gmail, outlook, yahoo, other)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/providers?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "providers"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "Provider breakdown (gmail, outlook, yahoo, other)\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/providers`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Reputation score",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/reputation",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "reputation"
              ]
            },
            "description": "Reputation score\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/reputation`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "SMTP error code diagnostics",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/error-codes?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "error-codes"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "SMTP error code diagnostics\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/error-codes`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Communications",
      "item": [
        {
          "name": "Add a suppression",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/suppressions`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Add contacts to a list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/{{id}}/contacts",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "{{id}}",
                "contacts"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/lists/{id}/contacts`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Bulk delete contact lists",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/lists`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Bulk delete recipients",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/bulk-delete",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "bulk-delete"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/recipients/bulk-delete`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Bulk delete templates",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/templates`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Bulk import suppressions",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions/bulk",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions",
                "bulk"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/suppressions/bulk`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Bulk move recipients",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/bulk-move",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "bulk-move"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/recipients/bulk-move`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Cancel a campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/cancel",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "cancel"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/campaigns/{id}/cancel`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Cleanup deleted campaigns",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/cleanup",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "cleanup"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/campaigns/cleanup`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Cleanup deleted recipients",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/cleanup",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "cleanup"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/recipients/cleanup`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Communications API health",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/health",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "health"
              ]
            },
            "description": "Communications Block endpoint.\n\nOpenAPI: `GET /comm-api/api/health`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Compile campaign content and audience",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/compile",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "compile"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/campaigns/{id}/compile`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create a campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/campaigns`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create a contact list",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/lists`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create a smart list from filters",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/from-filter",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "from-filter"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/lists/from-filter`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create a template",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/templates`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Create or update a contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/contacts/upsert",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "contacts",
                "upsert"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/contacts/upsert`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete a campaign",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/campaigns/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Delete a contact",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/contacts/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "contacts",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/contacts/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Delete a contact list",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/lists/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Delete a template",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/templates/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Export GDPR data",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/gdpr/export",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "gdpr",
                "export"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/gdpr/export`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Export list contacts",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/{{id}}/contacts/export",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "{{id}}",
                "contacts",
                "export"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/lists/{id}/contacts/export`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Export recipients",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/export",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "export"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/recipients/export`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Export tracking events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/tracking/export",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "tracking",
                "export"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/tracking/export`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Filter recipients",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/filter",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "filter"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/recipients/filter`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Get a template",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/templates/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get campaign analytics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/analytics",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "analytics"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/analytics`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get campaign details",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get campaign stats",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/stats",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "stats"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/stats`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get click breakdown",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/click-breakdown",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "click-breakdown"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/click-breakdown`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get Communications analytics overview",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/analytics/overview",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "analytics",
                "overview"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/analytics/overview`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get suppression stats",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions/stats",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions",
                "stats"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/suppressions/stats`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get tracking stats",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/tracking/stats",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "tracking",
                "stats"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/tracking/stats`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get unsubscribe analytics",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/unsubscribe-analytics",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "unsubscribe-analytics"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/unsubscribe-analytics`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get unsubscribe trends",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/unsubscribe-trends",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "unsubscribe-trends"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/unsubscribe-trends`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Import bounces into suppressions",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions/import-bounces",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions",
                "import-bounces"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/suppressions/import-bounces`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Import list contacts from CSV",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/{{id}}/contacts/import",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "{{id}}",
                "contacts",
                "import"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/lists/{id}/contacts/import`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "List campaign clicks",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/clicks",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "clicks"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/clicks`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List campaign events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/events",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "events"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/events`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List campaign recipients",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/recipients",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "recipients"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/{id}/recipients`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List campaigns",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List contact lists",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/lists`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List contacts in a list",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/lists/{{id}}/contacts",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "lists",
                "{{id}}",
                "contacts"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/lists/{id}/contacts`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List deleted campaigns",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/deleted",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "deleted"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/campaigns/deleted`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List deleted recipients",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/deleted",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "deleted"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/recipients/deleted`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List recipient campaign groupings",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/campaigns",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "campaigns"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/recipients/campaigns`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List suppressions",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/suppressions`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List templates",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/templates`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List unsubscribe events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/unsubscribe-events",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "unsubscribe-events"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/unsubscribe-events`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Permanently delete a campaign",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/permanent",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "permanent"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/campaigns/{id}/permanent`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Permanently delete a recipient",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/{{id}}/permanent",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "{{id}}",
                "permanent"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/recipients/{id}/permanent`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Remove a suppression",
          "request": {
            "method": "DELETE",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/suppressions/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "suppressions",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `DELETE /comm-api/api/suppressions/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Restore a campaign",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/restore",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "restore"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `PATCH /comm-api/api/campaigns/{id}/restore`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Restore a recipient",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/{{id}}/restore",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "{{id}}",
                "restore"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `PATCH /comm-api/api/recipients/{id}/restore`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Restore recipients",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients/restore",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients",
                "restore"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/recipients/restore`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Resubscribe a contact",
          "request": {
            "method": "PUT",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/contacts/{{id}}/resubscribe",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "contacts",
                "{{id}}",
                "resubscribe"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `PUT /comm-api/api/contacts/{id}/resubscribe`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Schedule a campaign",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/schedule",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "schedule"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/campaigns/{id}/schedule`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Search recipients",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/recipients",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "recipients"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/recipients`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Search tracking events",
          "request": {
            "method": "GET",
            "header": [
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/tracking/events",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "tracking",
                "events"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `GET /comm-api/api/tracking/events`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Unsubscribe a contact",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/contacts/{{id}}/unsubscribe",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "contacts",
                "{{id}}",
                "unsubscribe"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/contacts/{id}/unsubscribe`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update a template",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates/{{id}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates",
                "{{id}}"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `PATCH /comm-api/api/templates/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Update campaign settings",
          "request": {
            "method": "PATCH",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/campaigns/{{id}}/settings",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "campaigns",
                "{{id}}",
                "settings"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `PATCH /comm-api/api/campaigns/{id}/settings`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Validate a template without saving",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              },
              {
                "key": "X-Tenant-Id",
                "value": "{{tenantId}}"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/comm-api/api/templates/validate",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "comm-api",
                "api",
                "templates",
                "validate"
              ]
            },
            "description": "Communications Block endpoint. Requires `X-Tenant-Id` for tenant scoping.\n\nOpenAPI: `POST /comm-api/api/templates/validate`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Config",
      "item": [
        {
          "name": "Domain health (SPF/DKIM/DMARC)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/domain-health",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "domain-health"
              ]
            },
            "description": "Domain health (SPF/DKIM/DMARC)\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/domain-health`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Motor Block config snapshot",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/config",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "config"
              ]
            },
            "description": "Read-only, non-sensitive configuration snapshot and domain status.\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/config`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Exports",
      "item": [
        {
          "name": "Create export job",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/exports",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "exports"
              ]
            },
            "description": "Create export job\n\nOpenAPI: `POST /api/public/v1/motor-blocks/{id}/exports`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"jobType\": \"logs\",\n  \"params\": {}\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Download export file (signed token)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/exports/{{jobId}}/download?token={{token}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "exports",
                "{{jobId}}",
                "download"
              ],
              "query": [
                {
                  "key": "token",
                  "value": "{{token}}",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "Download export file (signed token)\n\nOpenAPI: `GET /api/public/v1/exports/{jobId}/download`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get export job status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/exports/{{jobId}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "exports",
                "{{jobId}}"
              ]
            },
            "description": "Get export job status\n\nOpenAPI: `GET /api/public/v1/exports/{jobId}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List recent export jobs",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/exports",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "exports"
              ]
            },
            "description": "List recent export jobs\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/exports`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Preview recent logs (no job creation)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/exports/preview?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "exports",
                "preview"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "includePII",
                  "value": "",
                  "description": "Requires logs.pii scope",
                  "disabled": true
                }
              ]
            },
            "description": "Preview recent logs (no job creation)\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/exports/preview`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Logs",
      "item": [
        {
          "name": "Get message by send id (UUID)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/messages/{{messageId}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "messages",
                "{{messageId}}"
              ],
              "query": [
                {
                  "key": "includePII",
                  "value": "",
                  "description": "Requires logs.pii scope",
                  "disabled": true
                }
              ]
            },
            "description": "Get message by send id (UUID)\n\nOpenAPI: `GET /api/public/v1/messages/{id}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Get message event timeline",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/messages/{{messageId}}/events",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "messages",
                "{{messageId}}",
                "events"
              ],
              "query": [
                {
                  "key": "includePII",
                  "value": "",
                  "description": "Requires logs.pii scope",
                  "disabled": true
                }
              ]
            },
            "description": "Canonical lifecycle events from email_events.\n\nOpenAPI: `GET /api/public/v1/messages/{id}/events`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Lookup message by RFC Message-ID header",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/messages?smtpMessageId={{smtpMessageId}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "messages"
              ],
              "query": [
                {
                  "key": "smtpMessageId",
                  "value": "{{smtpMessageId}}",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "includePII",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Lookup message by RFC Message-ID header\n\nOpenAPI: `GET /api/public/v1/messages`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Search logs with cursor pagination",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/logs?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "logs"
              ],
              "query": [
                {
                  "key": "from",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "to",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "currentOutcome",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "query",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "cursor",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "includePII",
                  "value": "",
                  "description": "Requires logs.pii scope",
                  "disabled": true
                }
              ]
            },
            "description": "Search logs with cursor pagination\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/logs`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Motor Blocks",
      "item": [
        {
          "name": "List motor blocks bound to the token",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks"
              ]
            },
            "description": "Returns the Motor Block(s) associated with the current public API token.\n\nOpenAPI: `GET /api/public/v1/motor-blocks`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Mint a Public Analytics API token with a dashboard JWT",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/token",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "token"
              ]
            },
            "description": "Dashboard and trusted-session flow for creating a short-lived bearer token for `/api/public/v1` endpoints. Server-to-server integrations should prefer `/api/public/token/account-key`.\n\nOpenAPI: `POST /api/public/token`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"motorBlockId\": \"{{motorBlockId}}\",\n  \"scopes\": [\n    \"string\"\n  ],\n  \"ttlSeconds\": 300\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Mint a Public Analytics API token with an Account API Key",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/token/account-key",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "token",
                "account-key"
              ]
            },
            "description": "Use an Account API Key (`ak_live_...`) to create a short-lived bearer token for `/api/public/v1` endpoints. The key can be supplied as `Authorization: ApiKey ak_live_...` or `X-Api-Key: ak_live_...`.\n\nOpenAPI: `POST /api/public/token/account-key`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{akApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"motorBlockId\": \"{{motorBlockId}}\",\n  \"scopes\": [\n    \"logs.read\",\n    \"analytics.read\",\n    \"webhooks.manage\"\n  ],\n  \"ttlSeconds\": 900\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "OAuth",
      "item": [
        {
          "name": "OAuth 2.0 authorization endpoint (consent HTML)",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{dashboardBaseUrl}}/api/oauth2/authorize?client_id={{client_id}}&response_type={{response_type}}&redirect_uri={{redirect_uri}}",
              "host": [
                "{{dashboardBaseUrl}}"
              ],
              "path": [
                "api",
                "oauth2",
                "authorize"
              ],
              "query": [
                {
                  "key": "client_id",
                  "value": "{{client_id}}",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "response_type",
                  "value": "{{response_type}}",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "redirect_uri",
                  "value": "{{redirect_uri}}",
                  "description": "",
                  "disabled": false
                },
                {
                  "key": "scope",
                  "value": "email.send",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "state",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Starts the authorization-code flow for a Motor Block OAuth app. Returns an HTML consent page. After approve, redirects to redirect_uri with ?code=. Use the access token from /api/oauth2/token as the SMTP password on mail.motorical.com — not on POST /v1/send.\n\nOpenAPI: `GET /api/oauth2/authorize`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "noauth"
            }
          },
          "response": []
        },
        {
          "name": "OAuth 2.0 token endpoint",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{dashboardBaseUrl}}/api/oauth2/token",
              "host": [
                "{{dashboardBaseUrl}}"
              ],
              "path": [
                "api",
                "oauth2",
                "token"
              ]
            },
            "description": "Exchange an authorization code or refresh token for an access token. The access_token JWT is used as the SMTP password (PLAIN/LOGIN) or via XOAUTH2 on mail.motorical.com:2587.\n\nOpenAPI: `POST /api/oauth2/token`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "noauth"
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"grant_type\": \"authorization_code\",\n  \"code\": \"{{oauthAuthorizationCode}}\",\n  \"client_id\": \"{{oauthClientId}}\",\n  \"client_secret\": \"{{oauthClientSecret}}\",\n  \"redirect_uri\": \"https://motorical.com/oauth/callback\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Validate an OAuth access token",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{dashboardBaseUrl}}/api/oauth2/validate",
              "host": [
                "{{dashboardBaseUrl}}"
              ],
              "path": [
                "api",
                "oauth2",
                "validate"
              ],
              "query": [
                {
                  "key": "token",
                  "value": "",
                  "description": "",
                  "disabled": true
                },
                {
                  "key": "access_token",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Optional helper to introspect a Motorical-issued SMTP access token (query or Authorization Bearer).\n\nOpenAPI: `GET /api/oauth2/validate`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "noauth"
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Send",
      "item": [
        {
          "name": "Get HTTP Send API service status",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/v1/status",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "v1",
                "status"
              ]
            },
            "description": "Get HTTP Send API service status\n\nOpenAPI: `GET /v1/status`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{mkApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Send or validate an email",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/v1/send",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "v1",
                "send"
              ]
            },
            "description": "Queue an email for immediate delivery, or validate the payload only when `dryRun: true`. Authenticated via Motor Block API key (`Authorization: ApiKey mk_live_...` or `X-Api-Key: mk_live_...`).\n\n**Dry run:** `dryRun: true` performs the same authentication, domain, DNS, recipient, subject, and body-size checks but does not insert an email log or push delivery work to Redis.\n\n**Idempotency:** Include an `Idempotency-Key` header to prevent duplicate sends on retries (24h window).\n\n**Webhook verification:** Delivery events are posted to your webhook endpoints with an `X-Motorical-Signature` header containing an HMAC-SHA256 hex digest computed over the JSON body using the webhook secret you received at creation time. Verify with: `crypto.createHmac(\"sha256\", secret).update(body).digest(\"hex\")`.\n\nOpenAPI: `POST /v1/send`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{mkApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"from\": \"sender@yourdomain.com\",\n  \"subject\": \"string\",\n  \"text\": \"string\",\n  \"html\": \"string\",\n  \"headers\": {},\n  \"dryRun\": false\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Test SMTP setup parameters",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/v1/test-email",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "v1",
                "test-email"
              ]
            },
            "description": "Validate SMTP setup parameters for customer setup flows. Authenticated with a Motor Block API key supplied as `Authorization: ApiKey mk_live_...` or `X-Api-Key: mk_live_...`.\n\nOpenAPI: `POST /v1/test-email`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "apikey",
              "apikey": [
                {
                  "key": "key",
                  "value": "Authorization",
                  "type": "string"
                },
                {
                  "key": "value",
                  "value": "ApiKey {{mkApiKey}}",
                  "type": "string"
                },
                {
                  "key": "in",
                  "value": "header",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"method\": \"basic_auth\",\n  \"host\": \"string\",\n  \"port\": 0,\n  \"username\": \"string\",\n  \"password\": \"string\",\n  \"to\": \"sender@yourdomain.com\",\n  \"subject\": \"string\"\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        }
      ]
    },
    {
      "name": "Webhooks",
      "item": [
        {
          "name": "Create webhook",
          "request": {
            "method": "POST",
            "header": [
              {
                "key": "Content-Type",
                "value": "application/json"
              }
            ],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks"
              ]
            },
            "description": "Create webhook\n\nOpenAPI: `POST /api/public/v1/motor-blocks/{id}/webhooks`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            },
            "body": {
              "mode": "raw",
              "raw": "{\n  \"url\": \"string\",\n  \"events\": [\n    \"string\"\n  ]\n}",
              "options": {
                "raw": {
                  "language": "json"
                }
              }
            }
          },
          "response": []
        },
        {
          "name": "Delete webhook",
          "request": {
            "method": "DELETE",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks/{{webhookId}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks",
                "{{webhookId}}"
              ]
            },
            "description": "Delete webhook\n\nOpenAPI: `DELETE /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Enqueue a test webhook delivery",
          "request": {
            "method": "POST",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks/{{webhookId}}/test",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks",
                "{{webhookId}}",
                "test"
              ]
            },
            "description": "Enqueue a test webhook delivery\n\nOpenAPI: `POST /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/test`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "List webhooks",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks"
              ]
            },
            "description": "List webhooks\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/webhooks`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Update webhook",
          "request": {
            "method": "PUT",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks/{{webhookId}}",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks",
                "{{webhookId}}"
              ]
            },
            "description": "Update webhook\n\nOpenAPI: `PUT /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Webhook delivery history",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks/{{webhookId}}/deliveries?limit=50",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks",
                "{{webhookId}}",
                "deliveries"
              ],
              "query": [
                {
                  "key": "limit",
                  "value": "50",
                  "description": "",
                  "disabled": false
                }
              ]
            },
            "description": "Webhook delivery history\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/deliveries`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        },
        {
          "name": "Webhook delivery stats",
          "request": {
            "method": "GET",
            "header": [],
            "url": {
              "raw": "{{apiBaseUrl}}/api/public/v1/motor-blocks/{{motorBlockId}}/webhooks/{{webhookId}}/stats",
              "host": [
                "{{apiBaseUrl}}"
              ],
              "path": [
                "api",
                "public",
                "v1",
                "motor-blocks",
                "{{motorBlockId}}",
                "webhooks",
                "{{webhookId}}",
                "stats"
              ],
              "query": [
                {
                  "key": "hours",
                  "value": "",
                  "description": "",
                  "disabled": true
                }
              ]
            },
            "description": "Webhook delivery stats\n\nOpenAPI: `GET /api/public/v1/motor-blocks/{id}/webhooks/{webhookId}/stats`\nDocs: https://docs.motorical.com/llms.txt",
            "auth": {
              "type": "bearer",
              "bearer": [
                {
                  "key": "token",
                  "value": "{{bearerToken}}",
                  "type": "string"
                }
              ]
            }
          },
          "response": []
        }
      ]
    }
  ]
}
