campaigns

Set the ad schedule

Human-friendly schedule input: HH:MM windows, day shorthands (MON, WEEKDAYS, WEEKEND) and presets. The server expands them, splits windows that cross midnight, resolves the time zone and stores the result as adScheduleStructured.

Time zones: "local" means the searcher's own time zone on platforms that support it, and the account time zone elsewhere. An explicit IANA zone (Europe/Berlin) is converted into account-time hours before storing. Introspect the current token shows the account time zone per platform under scheduling.timezones.

Pass dry_run: true to get the expanded schedule and any warnings without changing the campaign. Changes reach the ad platforms on the next sync.

Errors

  • 404 NOT_FOUND: no campaign with this id in the active Space.
  • 400 INVALID_REQUEST: the body is not valid JSON.
  • 400 with a schedule-specific error.code (for example AD_SCHEDULE_TOO_MANY_WINDOWS), or VALIDATION_ERROR with details.issues[].
post/api/v1/campaigns/{id}/ad-schedule

Request

  • Base URL: https://api.growomat.com
  • URL: https://api.growomat.com/api/v1/campaigns/{id}/ad-schedule
  • Auth: HTTP bearer

Path parameters

idstring required

The campaign id.

Headers

X-Space-Idstring

The Space to work in, for example spc_8f3aK2. Omit it to use your personal Space. List your Spaces returns the ids. A Space that does not exist returns 404 SPACE_NOT_FOUND; one you are not a member of returns 403 NOT_A_MEMBER.

Request body

timezonestring

local (the searcher's own time zone where the platform supports it, otherwise account time with a warning), UTC, or an IANA zone such as Europe/Berlin. A zone that differs from the account zone is converted into account-time hours before storing.

preset'ALL_HOURS_ALL_DAYS' | 'BUSINESS_HOURS' | 'OVERNIGHT' | 'WEEKENDS' | 'PHARMACY_OPEN_HOURS'

A ready-made schedule. Can be combined with windows.

platform'google-ads' | 'microsoft-ads' | 'reddit-ads' | 'meta-ads' | 'openai-ads' | 'linkedin-ads'

Which platform's time zone rules to apply when the campaign runs on several. Inferred when omitted.

dry_runboolean

When true, return the expanded schedule and warnings without changing the campaign.

Response

OK. The result is in data. List responses also carry meta with nextCursor and total.

dataunknown required

Changes

No recorded changes to this operation across all 2 revisions of this API.