{
  "openapi": "3.1.0",
  "info": {
    "title": "Autosend Campaigns API",
    "version": "1.0.0",
    "description": "API endpoints for managing marketing campaigns in Autosend."
  },
  "servers": [
    {
      "url": "https://api.autosend.com/v1",
      "description": "Production"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/campaigns": {
      "get": {
        "summary": "List Campaigns",
        "description": "Retrieves a paginated list of campaigns with optional filtering."
      },
      "post": {
        "summary": "Create Campaign",
        "description": "Creates a new marketing campaign."
      }
    },
    "/campaigns/{campaignId}": {
      "get": {
        "summary": "Get Campaign",
        "description": "Retrieves a single campaign by its ID."
      },
      "patch": {
        "summary": "Update Campaign",
        "description": "Updates fields on an existing campaign."
      },
      "delete": {
        "summary": "Delete Campaign",
        "description": "Permanently deletes a campaign by ID."
      }
    },
    "/campaigns/{campaignId}/duplicate": {
      "post": {
        "summary": "Duplicate Campaign",
        "description": "Creates a copy of an existing campaign."
      }
    },
    "/campaigns/{campaignId}/abort": {
      "post": {
        "summary": "Abort Campaign",
        "description": "Aborts a campaign that is currently sending."
      }
    },
    "/campaigns/{campaignId}/pause": {
      "post": {
        "summary": "Pause Campaign",
        "description": "Pauses a campaign that is currently sending."
      }
    },
    "/campaigns/{campaignId}/resume": {
      "post": {
        "summary": "Resume Campaign",
        "description": "Resumes a paused campaign."
      }
    },
    "/campaigns/{campaignId}/analytics": {
      "get": {
        "summary": "Get Campaign Analytics",
        "description": "Retrieves delivery and engagement counts and computed rates for a campaign."
      }
    }
  }
}
