Campaign shape from the campaignProfileAttributes GraphQL fragment
(returned by get_user_by_slug under both publishedCampaigns and
retiredCampaigns).
This is the GraphQL/profile shape — it is not the REST shape. For
GET /api/public/campaigns/:id results reach for
@playlive/tiltify-core's TiltifyCampaign (snake_case fields, richer
surface). Consumers who need both must alias one on import:
Campaign shape from the
campaignProfileAttributesGraphQL fragment (returned byget_user_by_slugunder bothpublishedCampaignsandretiredCampaigns).This is the GraphQL/profile shape — it is not the REST shape. For
GET /api/public/campaigns/:idresults reach for@playlive/tiltify-core'sTiltifyCampaign(snake_case fields, richer surface). Consumers who need both must alias one on import: