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

# delete a campaign

> remove a scheduled or finished campaign (stop a running one first). its calls stay in your call history.



## OpenAPI

````yaml /openapi.json delete /v1/campaigns/{campaign_id}
openapi: 3.1.0
info:
  title: silk api
  version: 1.0.0
  description: >-
    rumik ai's speech api. synthesize speech with the expressive `muga` model or
    the faster `mulberry` model over http or a streaming websocket session, run
    conversational voice agents over webrtc, a realtime pcm socket or the phone,
    and manage everything the agents playground does — agents, voices,
    variables, tools, phone numbers, sip trunks and outbound calls — with the
    same api key.
  contact:
    name: rumik ai
    url: https://rumik.ai
servers:
  - url: https://silk-api.rumik.ai
    description: production
security:
  - bearerAuth: []
tags:
  - name: speech
    description: text-to-speech over HTTP and WebSocket.
  - name: voice agents
    description: start calls with a deployed agent from your own app.
  - name: agents
    description: build, configure, deploy and inspect your agents.
  - name: calls
    description: place outbound phone calls and read call history.
  - name: voices
    description: the voices, languages and styles an agent may use.
  - name: variables
    description: account-wide `{name}` prompt variables and their defaults.
  - name: tools
    description: HTTP tools agents call before or during a call.
  - name: phone numbers
    description: 'numbers rented through rumik: search, rent, connect, release.'
  - name: sip trunks
    description: bring your own numbers over SIP.
  - name: campaign audiences
    description: >-
      the contact lists (CSV uploads) a campaign calls, and the columns its
      agent gets.
  - name: campaigns
    description: >-
      outbound campaigns: an agent calling an audience from your own number,
      with retries and a start time — and every call's transcript and recording.
paths:
  /v1/campaigns/{campaign_id}:
    delete:
      tags:
        - campaigns
      summary: delete a campaign
      description: >-
        remove a scheduled or finished campaign (stop a running one first). its
        calls stay in your call history.
      operationId: deleteCampaign
      parameters:
        - name: campaign_id
          in: path
          required: true
          schema:
            type: string
            format: uuid
          description: the campaign's id.
      responses:
        '204':
          description: deleted. no body.
        '401':
          description: >-
            `unauthorized` — key missing, malformed, unknown, revoked or
            expired.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                unauthorized:
                  value:
                    error: Invalid API key
                    code: unauthorized
        '403':
          description: '`forbidden_scope` — the key was created without the `agent` scope.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                forbidden_scope:
                  value:
                    error: This API key lacks the 'agent' scope
                    code: forbidden_scope
        '404':
          description: '`campaign_not_found` — no such campaign on this account.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                campaign_not_found:
                  value:
                    error: Campaign not found
                    code: campaign_not_found
        '409':
          description: >-
            `campaign_state` — the campaign's status doesn't allow it: pause a
            running one, resume a paused or stopped one (with contacts left),
            stop one that hasn't finished, delete one that is scheduled or
            finished.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                campaign_state:
                  value:
                    error: Only a paused or stopped campaign can be resumed
                    code: campaign_state
        '429':
          description: >-
            `rate_limited` — the key's per-minute budget is spent. `Retry-After`
            says how long to wait; the body carries `limit` and `current`.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
              examples:
                rate_limited:
                  value:
                    error: Rate limit exceeded
                    code: rate_limited
                    limit: 100
                    current: 101
          headers:
            Retry-After:
              description: seconds to wait before retrying (per-key rate limit only).
              schema:
                type: integer
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: string
          description: human-readable error message.
        code:
          type: string
          description: machine-readable error code.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        your rumik api key, e.g. `rk_live_...`. create one in the rumik
        dashboard.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.