List Google Ads campaign briefs

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

Returns the app's saved campaign briefs, most recently changed first.

A campaign brief is saved input for a campaign you have not launched yet: the business details, the keywords, the budget you have in mind, and the ad copy. Base44 stores it so you can build a campaign over several requests instead of one, and nothing about a brief reaches Google Ads until you create a campaign from it.

Pass platform_type to return only the briefs for one campaign type. Any other value returns an empty list rather than an error, so check the value you send.

<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>

get/api/apps/{app_id}/google-ads/campaign-briefs

Path parameters

app_idstring required

ID of the app whose Google Ads campaigns to manage.

ID of the app whose Google Ads campaigns to manage.

Query parameters

platform_typestring

Filter to SMART or PERFORMANCE_MAX

Filter to SMART or PERFORMANCE_MAX

Response

Successful Response

idstring required

ID of the brief. Pass this as brief_id to read, update, or delete it.

platform_typestring required

Which campaign type the brief is for, SMART or PERFORMANCE_MAX.

sourcestring required

Who wrote the brief. The value is ai when Base44 generated it and user when you created it.

business_namestring required

Business name to advertise.

business_descriptionstring required

What the business does. Base44 uses this when it generates copy.

landing_page_urlstring required

URL the ads will send clicks to.

languagestring required

Language the ad copy is written in, as a lowercase two-letter code. See the note on this field in each endpoint. Create and update echo what you send, while list and get report the normalized value.

keywordsstring[] required

Keywords the campaign should match.

target_audiencestring required

Free-text description of who the campaign is for. Empty when unset.

daily_budget_microsinteger required

Planned daily budget in micros of the account currency, so 15000000 is 15.00. The value is 0 when unset.

geo_targetsstring[] required

Google Ads geo target constant IDs to target.

headlinesstring[] required

Ad headlines. Populated by generate, or by you.

descriptionsstring[] required

Ad description lines.

schedule_typestring required

When the campaign runs. Use always to run continuously, or custom to use schedule_days.

schedule_daysobject[] required

Day and hour windows to run in, used only when schedule_type is custom.

created_datestring date-time required

When the brief was created.

updated_datestring date-time required

When the brief was last changed.

Example response

[
  {
    "id": "68b1c0d4e7b91d003c45a1f5",
    "platform_type": "SMART",
    "source": "user",
    "business_name": "Nordwind Furniture",
    "business_description": "Handmade oak furniture, delivered across Germany.",
    "landing_page_url": "https://example.com/spring",
    "language": "en",
    "keywords": [
      "oak furniture",
      "handmade table"
    ],
    "target_audience": "Homeowners aged 30 to 55",
    "daily_budget_micros": 15000000,
    "geo_targets": [
      "1003854"
    ],
    "headlines": [
      "Handmade oak furniture"
    ],
    "descriptions": [
      "Built to last. Delivered free."
    ],
    "schedule_type": "always",
    "schedule_days": [
      {
        "day": "MONDAY",
        "end_hour": 17,
        "start_hour": 9
      }
    ],
    "created_date": "2026-08-25T11:20:00Z",
    "updated_date": "2026-08-25T14:05:00Z"
  }
]

Changes

No recorded changes to this endpoint across all 4 revisions of this API.