Reference

GraphQL

Query interconnected objects without bypassing authorization. Mutations are not direct writes; they call the same preview and approval services as REST.

Core types

Tenant, Advertiser, Campaign, LineItem, Warrant, Decision, Reservation, Creative, Audience, Metric, Receipt, Task.

graphqlquery
query CampaignOverview($id: ID!) {
  campaign(id: $id) {
    name
    state
    budget { availableMicros reservedMicros }
    warrants { id expiresAt maxCpmMicros }
    recentDecisions(first: 10) {
      edges { node { id bidMicros outcome reason } }
    }
  }
}

Limits

  • Depth, field cost, result cardinality, and time budgets are enforced.
  • Partially unauthorized relationships are omitted with bounded redaction metadata — never a hidden name or count.
  • Introspection is restricted outside development contexts.
  • Subscriptions authorize at connection and again at delivery.
No backdoor. A mutation in GraphQL carries the same preview, approval, and revision checks as a REST write. Selecting a different transport changes nothing.