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

# Pause all Google Ads campaigns

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Stops every campaign on the account serving, in one call. Useful as a spend kill switch.

The response reports how many campaigns paused out of how many were tried. A `status` of `partial` means at least one did not pause and is still serving. The call does not roll the others back, so retry it or pause the remaining campaigns individually to see why.

There is no matching resume-all. Resume each campaign with [Resume campaign](/api-reference/resume-google-ads-campaign), which re-checks billing per campaign.

<Warning>A 409 means the change may or may not have been applied: the request to Google Ads timed out after it was sent. Read the campaign back with [Get campaign](/api-reference/get-google-ads-campaign) before retrying, or you can end up applying it twice.</Warning>

<Note>This endpoint accepts a personal API key. Workspace API keys are not authorized for it and are rejected with a 403.</Note>

<Warning>The response includes fields beyond the ones documented here. Don't rely on undocumented response fields, as they can change at any time.</Warning>



## OpenAPI

````yaml /developers/references/app-management/app-management-openapi.json post /api/apps/{app_id}/google-ads/campaigns/pause-all
openapi: 3.1.0
info:
  title: Base44 App Management API
  version: 1.0.0
servers:
  - url: https://app.base44.com
security:
  - ApiKeyAuth: []
paths:
  /api/apps/{app_id}/google-ads/campaigns/pause-all:
    post:
      summary: Pause all Google Ads campaigns
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Stops every campaign on the account serving, in one call. Useful as a
        spend kill switch.


        The response reports how many campaigns paused out of how many were
        tried. A `status` of `partial` means at least one did not pause and is
        still serving. The call does not roll the others back, so retry it or
        pause the remaining campaigns individually to see why.


        There is no matching resume-all. Resume each campaign with [Resume
        campaign](/api-reference/resume-google-ads-campaign), which re-checks
        billing per campaign.


        <Warning>A 409 means the change may or may not have been applied: the
        request to Google Ads timed out after it was sent. Read the campaign
        back with [Get campaign](/api-reference/get-google-ads-campaign) before
        retrying, or you can end up applying it twice.</Warning>


        <Note>This endpoint accepts a personal API key. Workspace API keys are
        not authorized for it and are rejected with a 403.</Note>


        <Warning>The response includes fields beyond the ones documented here.
        Don't rely on undocumented response fields, as they can change at any
        time.</Warning>
      operationId: >-
        pause_all_campaigns_api_apps__app_id__google_ads_campaigns_pause_all_post
      parameters:
        - name: app_id
          in: path
          required: true
          schema:
            type: string
            description: ID of the app whose Google Ads campaigns to manage.
            title: App Id
          description: ID of the app whose Google Ads campaigns to manage.
          example: 6820f3a4e7b91d003c45a1f2
      responses:
        '200':
          description: >-
            How many campaigns paused. Check `failed_count`: a partial result
            also returns 200.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PauseAllCampaignsResponse'
        '400':
          description: >-
            Google Ads rejected the request, for example ad text that breaks its
            policies or a budget below the currency's minimum. The response
            message carries Google's reason.
        '401':
          description: Missing or invalid credentials.
        '403':
          description: >-
            You don't have access to this app, the app does not exist, or you
            used a workspace API key. A missing app and an app you cannot reach
            are deliberately the same answer.
        '404':
          description: The app has no connected Google Ads account.
        '409':
          description: >-
            The request to Google Ads timed out after being sent, so the change
            may or may not have been applied. Read the campaign back before
            retrying.
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
        '429':
          description: Google Ads is rate limiting the account. Retry later.
components:
  schemas:
    PauseAllCampaignsResponse:
      properties:
        status:
          type: string
          title: Status
          description: >-
            `paused` when every campaign paused, `partial` when at least one did
            not.
          example: paused
        paused_count:
          type: integer
          title: Paused Count
          description: How many campaigns this call paused.
          example: 3
        total_count:
          type: integer
          title: Total Count
          description: How many campaigns it tried to pause.
          example: 3
        failed_count:
          type: integer
          title: Failed Count
          description: >-
            How many could not be paused. Retry the call, or pause those
            campaigns individually to see why.
          example: 0
      type: object
      required:
        - status
        - paused_count
        - total_count
        - failed_count
      title: PauseAllCampaignsResponse
      description: Outcome of pausing every campaign on the account.
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
        - loc
        - msg
        - type
      title: ValidationError
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: api_key
      description: Personal API key.

````