Skip to main content
POST
Read a native Google Demand Gen reach forecast

Authorizations

Authorization
string
header
required

OAuth 2.1 authorization code + PKCE (S256). Tokens are tenant-bound (company_id) and scoped. Discover endpoints via /.well-known/oauth-authorization-server.

FlowAuthorization Code
Authorization URL
https://app.sideshift.app/api/oauth/v1/authorize
Token URL
https://app.sideshift.app/api/oauth/v1/token
Refresh URL
https://app.sideshift.app/api/oauth/v1/token
Scopes1
ads:read
Read ad accounts, campaigns, delivery status, and performance data

Body

application/json
connectionId
string
required
Required string length: 1 - 200
customerId
string
required
Pattern: ^\d+$
currencyCode
string
required
Pattern: ^[A-Z]{3}$
startDate
string
required
budget
object
required
bidding
object
required
locationIds
string[]
required
Required array length: 1 - 25 elements
Pattern: ^\d+$
languageIds
string[]
required
Required array length: 1 - 100 elements
Pattern: ^\d+$
placements
enum<string>[]
required
Required array length: 1 - 7 elements
Available options:
shorts,
in_stream,
in_feed,
discover,
gmail,
display,
maps
endDate
string
goals
object

Account defaults, standard campaign selection, immutable inherited_custom for existing campaigns, or explicit custom for a new settings-copy campaign. New custom mode reuses an enabled existing shared custom goal and freezes its account, membership, fingerprint and complete standard goal universe. It never creates or edits the shared goal; later native membership changes affect both campaigns and require review before enabling.

audience
object

Response

data contains status ready or unavailable. Unavailable reason distinguishes access_required, no_compatible_product, invalid_targeting, conversion_rate_required, currency_mismatch, invalid_budget, malformed_response and transient_failure. Ready metrics can be null or zero.

data
object
required