> ## Documentation Index
> Fetch the complete documentation index at: https://docs.migma.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Archive Campaign

> Archive a campaign to hide it from the default campaign list. Works for any status. Archived campaigns are excluded from list results unless the archived filter is set. Requires API key with email:send.



## OpenAPI

````yaml /api-reference/openapi.json post /v1/campaigns/{id}/archive
openapi: 3.1.0
info:
  title: Migma.ai API (v1)
  description: >-
    API for managing brands, contacts, email generation, sending, and
    integrations.
  license:
    name: MIT
  version: 1.0.0
servers:
  - url: https://api.migma.ai
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Projects/Brands
    description: Manage projects (brands) and import from websites
  - name: Contacts
    description: Manage your contacts, segments, tags, and topics
  - name: Segments
    description: Create and manage dynamic contact segments
  - name: Tags
    description: Organize contacts with tags
  - name: Topics
    description: Manage subscription topics and preferences
  - name: Emails
    description: Generate, send, and export emails
  - name: Email Validation
    description: Validate email content for compatibility and deliverability
  - name: Email Previews
    description: Preview emails across devices and email clients
  - name: Domains
    description: Manage sending domains and verification
  - name: Webhooks
    description: Manage webhook endpoints for real-time event notifications
  - name: Integrations
    description: Third-party platform integrations
  - name: Campaigns
    description: Create, schedule, send, and manage email campaigns
  - name: Project Editing
    description: Edit project assets, logos, images, and knowledge base entries
paths:
  /v1/campaigns/{id}/archive:
    post:
      tags:
        - Campaigns
      summary: Archive Campaign
      description: >-
        Archive a campaign to hide it from the default campaign list. Works for
        any status. Archived campaigns are excluded from list results unless the
        archived filter is set. Requires API key with email:send.
      operationId: ArchiveCampaign
      parameters:
        - name: id
          in: path
          description: Campaign ID
          required: true
          schema:
            type: string
      responses:
        '200':
          description: Campaign archived
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiResponseCampaign'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
      x-codeSamples:
        - lang: javascript
          label: Node.js SDK
          source: >-
            import Migma from 'migma';


            const migma = new Migma('YOUR_API_KEY');


            const { data, error } = await
            migma.campaigns.archive('CAMPAIGN_ID');
components:
  schemas:
    ApiResponseCampaign:
      allOf:
        - $ref: '#/components/schemas/ApiResponse'
        - type: object
          properties:
            data:
              $ref: '#/components/schemas/Campaign'
    ApiResponse:
      type: object
      properties:
        success:
          type: boolean
        data:
          nullable: true
        error:
          type: string
          nullable: true
      required:
        - success
    Campaign:
      type: object
      properties:
        id:
          type: string
        projectId:
          type: string
        name:
          type: string
        conversationId:
          type: string
        emailId:
          type: string
          nullable: true
          description: >-
            Generated email ID when the campaign was created from a specific
            email.
        subject:
          type: string
        preheaderText:
          type: string
          nullable: true
        from:
          type: string
          format: email
        fromName:
          type: string
        replyTo:
          type: string
          nullable: true
        recipientType:
          type: string
          enum:
            - audience
            - tag
        recipientId:
          type: string
        topicId:
          type: string
          nullable: true
        estimatedRecipients:
          type: integer
          nullable: true
        providerType:
          type: string
          enum:
            - ses
            - resend
            - sendgrid
            - mailgun
            - migma
        variables:
          type: object
          nullable: true
          additionalProperties: true
        status:
          type: string
          enum:
            - draft
            - scheduled
            - sending
            - throttled
            - sent
            - failed
            - cancelled
        scheduledAt:
          type: string
          format: date-time
          nullable: true
        scheduledTimezone:
          type: string
          nullable: true
        batchId:
          type: string
          nullable: true
        sentAt:
          type: string
          format: date-time
          nullable: true
        completedAt:
          type: string
          format: date-time
          nullable: true
        error:
          type: string
          nullable: true
        triggeredBy:
          type: string
          enum:
            - manual
            - api
            - automation
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
    ApiError:
      type: object
      properties:
        success:
          type: boolean
          default: false
        error:
          type: string
        code:
          type: string
          description: >-
            Machine-readable error code (e.g., IDEMPOTENCY_CONFLICT,
            DOMAIN_CLAIMABLE).
        data:
          type: object
          description: >-
            Additional structured context for the error, such as the affected
            domain.
          additionalProperties: true
      required:
        - success
        - error
  responses:
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key authentication. Use 'Authorization: Bearer YOUR_API_KEY' where
        YOUR_API_KEY is obtained from the Migma dashboard under Settings → API
        Integration.

````