---
title: "Get a campaign"
method: GET
path: "/v1/campaigns/{id}"
tags: ["Campaigns"]
---

# Get a campaign

`GET /v1/campaigns/{id}`

## Request

- Base URL: `https://api.samva.dev`
- URL: `https://api.samva.dev/v1/campaigns/{id}`
- Auth: API key in header `x-api-key`

Returns a single campaign, including its content, audience, and policy, by its identifier.

## Path parameters

- `id` string, required

## Response `200`

Campaign

- Campaign
  - `id` string, required
  - `name` string, required
  - `channel` 'email', required
  - `content` CampaignContent, required
    - `channel` 'email', required
    - `email` EmailContent, required
      - `subject` string, nullable
      - `html` string, nullable
      - `text` string, nullable
      - `attachments` EmailAttachment[], nullable
        - `filename` string, required
        - `content` string, nullable
        - `mediaId` string
        - `contentType` string, required
        - `size` integer, required
      - `publicationId` string
      - `inputContractId` string
      - `templateId` string
      - `templateSlug` string, nullable
      - `templateData` TemplateData
      - `locale` string
      - `timeZone` string
      - `inReplyToMessageId` string
      - `replyTo` string[], nullable
      - `unsubscribeGroupId` string
      - `tracking` EmailTrackingOverrideV1: Requested per-send engagement tracking policy. Recipient opt-out takes precedence, then explicit fields, organization defaults, and product defaults.
        - `opens` boolean: Override open tracking for this send. Omit to inherit the organization default. A recipient tracking opt-out always disables tracking.
        - `clicks` boolean: Override click tracking for this send. Omit to inherit the organization default. A recipient tracking opt-out always disables tracking.
      - `footer` EmailFooterOverride
        - `enabled` boolean, nullable
    - `conversationId` string
    - `metadata` CampaignContentMetadata, nullable
  - `audience` CampaignAudience, required
    - `includeTags` string[], nullable
    - `excludeTags` string[], nullable
    - `contactIds` ContactId[], nullable
    - `groupIds` ContactGroupId[], nullable
  - `policy` CampaignPolicy, required
    - `unsubscribeGroupId` string
    - `pageSize` integer, nullable
  - `definition` CampaignDefinitionSummary, required
    - `state` 'editable' | 'frozen' | 'archived', required
    - `frozenAt` string, nullable, required
  - `latestRun` CampaignLatestRun, required
    - `id` string, required
    - `status` 'scheduled' | 'resolving' | 'dispatching' | 'paused' | 'completed' | 'cancelled' | 'failed', required
    - `scheduledFor` string, required
    - `completedAt` string, nullable, required
    - `totalRecipients` number, required
    - `dispatchedCount` number, required
    - `failedCount` number, required
    - `skippedCount` number, required
    - `pendingCount` number, required
    - `estimatedCompletionAt` string, nullable, required
  - `createdBy` string, nullable, required
  - `actorEmail` string, required
  - `memberRole` string, required
  - `createdAt` string, required
  - `updatedAt` string, required

## Other responses

- `401`: UnauthorizedError
- `403`: ForbiddenError
- `404`: ResourceNotFoundError
- `422`: ValidationError
- `500`: InternalError
- `504`: GatewayTimeoutError

---

[API](https://skmtc.dev/samva/apis/samva-api.md) · [All operations](https://skmtc.dev/samva/apis/samva-api/llms.txt) · [OpenAPI document](https://skmtc.dev/samva/apis/samva-api/revisions/a99408542cc3?raw)
